Получить идентификатор поля формы SharePoint для jQuery - PullRequest
2 голосов
/ 07 декабря 2011

У меня есть скрипт, который я написал для переключения некоторых полей форм SharePoint.Я заставляю их прятаться при загрузке страницы, но я не могу их показать, потому что не знаю, как определить идентификаторы элементов управления поля формы.

Я думал о добавлении идентификатора в строку «Тип запроса», но я сомневаюсь, что это пойдет на пользу, так как изменяется сам элемент управления, а не tr, который он занимает, который изменяется.Любые предложения?

На самом деле, если бы я мог найти способ получить атрибут fieldname для SharePoint:FormField, это был бы мой предпочтительный метод.

<script type="text/javascript">
$(document).ready(function(){

  $("tr.anon").hide();
  $("tr.reqDet").hide();

  $("#ff5{$Pos}").change(function(){
     $(".anon").toggle();
  });

  $("#ff3{$Pos}").change(function(){
     $("#ff4{$Pos}").toggle();

  });
});
</script>

<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>
<tr class="reqDet">
    <td width="190px" valign="top" class="ms-formlabel">
        <H3 class="ms-standardheader">
            <nobr>Request Details</nobr>
        </H3>
    </td>
    <td width="400px" valign="top" class="ms-formbody">
        <SharePoint:FormField runat="server" id="ff4{$Pos}" ControlMode="New" FieldName="requestDetails" __designer:bind="{ddwrt:DataBind('i',concat('ff4',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@requestDetails')}"/>
        <SharePoint:FieldDescription runat="server" id="ff4description{$Pos}" FieldName="requestDetails" ControlMode="New"/>
    </td>
</tr>

Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Это несколько странно выглядящих идентификаторов, вы уверены, что они действительны?Если это так, вам нужно будет использовать этот метод для доступа к элементу управления FormField (или любому элементу управления на стороне сервера) из javascript / jQuery:

var myFormField = $("#<%= #ff5{$Pos}.ClientID %>");
0 голосов
/ 02 ноября 2013

использовать много способов выбора jquery, как показано ниже.это даже работает, когда у вас есть внешние файлы JavaScript

var stDateField = $(":input[title='Start Time']").val();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...