2011-12-07 39 views
0

對不起,如果這真的很明顯,但是,我還沒有找到解釋它的任何東西...使用SharePoint:FormField。我發現了無數的關於如何在HTML中完成以下內容的資源,但是當我嘗試將它應用到SharePoint時,jQuery會打破!獲取SharePoint的內容:FormFields

所以我有一個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

您將需要查看生成的標籤,然後訪問這些標籤。

+0

AH-ha!傑出的觀點James ...我現在覺得很愚蠢,但現在我意識到爲什麼我在SharePoint中使用jQuery時發現的每個資源都顯示HTML而不是SP代碼。 – jg100309