2009-08-07 21 views
0

我有一個母版頁,其中包含在表單中繼承它的所有內容。從它繼承的頁面需要運行一些JavaScript來處理頁面上的文本字段。但是,我似乎無法通過JavaScript引用該文本字段,因爲表單在母版頁上開始。在使用包含頁面表單的母版頁的aspx頁面上使用javascript?

下面的行會拿出僞造的:

document.form1.txtFindUser.value = blah.responseText; 

這是因爲Form1將母版頁上定義的,而txtFindUser是在當前頁面。

這些情況如何處理?

回答

4

怎麼樣:

document.getElementById('txtFindUser').value = blah.responseText; 

但如果txtFindUser是您的服務器控件的ID,那麼就應該使用上面的代碼那樣:

document.getElementById('<%= txtFindUser.ClientID %>').value = blah.responseText; 
+0

我試過的getElementById,但把它在<% %>標籤跑過我。謝謝! – Chris 2009-08-07 14:35:50

1

頁面元素並不總是具有相同的在運行時的名稱比在.NET中的設計時所做的更多。運行它時查看頁面的源代碼,並查看在由IIS解釋之後調用了什麼txtFindUser。

0

頁面上的任何服務器控件都將以不同的名稱呈現,因爲該頁面是從主頁面派生的。 (我想這可以消除因使用母版頁和衍生頁面中的控件相同名稱而可能產生的複雜性)。

var ctrl = '<%= txtBox1.ClientID %>'; 
document.getElementById(ctrl).value='Hello world'; 

參考this後更多的信息

相關問題