2011-12-07 62 views
2

我有一個腳本,我寫了一些腳本來切換一些SharePoint表單。當頁面加載時我已經隱藏了它們,但是我無法讓它們顯示,因爲我不知道如何確定formfield控件的ID將會是什麼。獲取jQuery的SharePoint表單ID

我曾想過在請求類型行中添加一個id,但是我懷疑這會做什麼好處,因爲它是控件本身,而不是它佔據該更改的tr。有什麼建議麼?

其實,如果我能想出一種方法來獲得SharePoint:FormField的fieldname屬性,那將是我的首選方法。

<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

這些是一些時髦的外觀ID,你確定它們是有效的嗎?如果是,那麼你將需要使用此方法從javascript/jQuery的訪問控制FormField(或任何服務器端控件):jQuery的選擇類似下面的

var myFormField = $("#<%= #ff5{$Pos}.ClientID %>"); 
+0

感謝您的快速回復。非常感謝...也許獲得ID不是我想要的方式...... – jg100309

+0

其實,我怎麼能得到SharePoint的fieldname屬性:FormField? – jg100309

+0

只需將'ClientID'替換爲'FieldName'。 '<% %>'定義了一個代碼段。 –

0

使用多種方法。這甚至適用於你有外部JavaScript文件時

var stDateField = $(":input[title='Start Time']").val();