получение содержимого SharePoint: FormFields - PullRequest
0 голосов
/ 08 декабря 2011

Извините, если это действительно очевидно, однако я не нашел НИЧЕГО, объясняющего это ... используя 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 Ответ

1 голос
/ 08 декабря 2011

Ваша проблема в том, что javascript запускается на стороне клиента. Если вы посмотрите на источник вашей страницы в веб-браузере (просмотрите исходный текст), вы увидите, что вы не найдете SharePoint:FormField где-либо в нем. Это потому, что SharePoint:FormField вообще не является тегом HTML. Это поле будет заменено несколькими фактическими HTML-тегами. SharePoint:FormField обрабатывается и заменяется на стороне сервера.

Вам нужно взглянуть на сгенерированные теги, а затем получить к ним доступ.

...