Получение содержимого SharePoint:FormFields
Извините, если это действительно очевидно, однако я не нашел НИЧЕГО, объясняющего это... используя SharePoint:FormField. Я нашел бесчисленные ресурсы о том, как сделать следующее в HTML, но когда я попытался применить его к разрывам jQuery в SharePoint!!
Итак, у меня есть SharePoint: FormField, как показано ниже
<tr>
<td width="190px" valign="top" class="ms-formlabel">
<H3 class="ms-standardheader">
<nobr>Request Type<span class="ms-formvalidation"> *</span>
</nobr>
</H3>
</td>
<td width="400px" valign="top" class="ms-formbody">
<SharePoint:FormField runat="server" id="ff3{$Pos}" ControlMode="New" FieldName="requestType" __designer:bind="{ddwrt:DataBind('i',concat('ff3',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@requestType')}"/>
<SharePoint:FieldDescription runat="server" id="ff3description{$Pos}" FieldName="requestType" ControlMode="New"/>
</td>
</tr>
И я просто пытаюсь получить значение ЧТО-ТО, НИЧЕГО, чтобы появиться в предупреждении, но это дает мне неопределенное предупреждение
<script type="text/javascript">
$(document).ready(function(){
var myVar = $("SharePoint:FormField[FieldName]").val()
alert(myVar);
// result "undefined"
});
</script>
Пожалуйста помоги. Большое спасибо!
1 ответ
Ваша проблема в том, что JavaScript запускается на стороне клиента. Если вы посмотрите на источник вашей страницы в веб-браузере (просмотреть источник), вы увидите, что вы не найдете SharePoint:FormField
где-нибудь в этом. Это потому что SharePoint:FormField
не является тегом HTML вообще. Это поле будет заменено несколькими фактическими тегами HTML. SharePoint:FormField
обрабатывается и заменяется на стороне сервера.
Вам нужно будет взглянуть на сгенерированные теги, а затем получить к ним доступ.