2013-07-08 74 views
0

我想創建一個javascript函數,我可以傳入要更新的字段的ID。例如:asp.net javascript通用函數

function populateField(aValue, aField) { 

    document.getElementById('<%=' + aField + '.ClientID%>').value = aValue; 

} 

但是,這不工作 - 我得到一個「太多字符字符文字」錯誤。關於如何動態地寫這個的任何想法?提前致謝。

+0

document.getElementById('aField <%= ClientID%>')。value = aValue; –

回答

0

如果你想得到服務器控件的客戶端ID,你需要像這樣使用 - aField.ClientID,這樣它才能在服務器端運行。

<asp:Label runat="server" ID="aField"></asp:Label> 
<script type="text/javascript"> 
    document.getElementById('<%= aField.ClientID %>').innerHTML = "test"; 
</script> 
+0

是的,但如果我將字段的ID傳遞給javascript函數,它將如何工作? – KMBonin

+0

如果是這種情況,調用函數必須有'<%= aField.ClientID%>'。如果你想維護與服務器端相同的客戶端ID,你可以使用'ClientIDMode =「Static」'。 ***但是,除非您沒有其他選擇,否則我不會推薦該方法。*** http://weblogs.asp.net/asptest/archive/2009/01/06/asp-net-4-0-客戶端ID-overview.aspx – Win