使用了母版頁的內容頁中,如何在JavaScript中調用Html Input(Hidden)控件

 

 

解釋如下:
1、在一個沒有母版頁的asp頁面中,用JavaScript給input控件賦值:document.getElementById("input1").value = "xx";
2、在有母版頁的asp頁面中,用JavaScript給input控件賦值:document.getElementById("<%= input1.ClientID %>").value = "xx";



另在別處看到一個很好的總結:
在javascript調用控件的時候,無論這個腳本在母版頁,還是在子頁面:

1。javascript調用客戶端控件:都可以直接調用母版頁或子頁面的所有客戶端控件(<input>)的屬性。
即:母版頁和子頁面裏的javascript最終都被加載到了子頁面。而客戶端控件無論在哪個頁面,其id,name等的屬性值都不會改變。
2。javascript調用本頁面的服務器端控件:都應該使用var d=document.getElementById('<%=TextBox1.ClientID %>');類似的語句。

javascript想調用服務器端控件,注意這個服務器控件的屬性變化:

在使用了母版的子頁面裏,母版裏的服務器控件中,

runar="server"的Form的屬性會變爲:<form name="aspnetForm" method="post" id="aspnetForm">;

第一個asp:Buttont的type變爲submit,其他的不變,而所有asp:Buttont和asp:TextBox,

其ID的屬性名前會加上ctl00_,比如:id="ctl00_Button1",

name的屬性名前加上ctl00$,name="ctl00$Button1";

 

在子頁面裏,本頁面的服務器控件都被放在了<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">。。。。。</asp:Content>中,

其ID的屬性名前都要加上ctl00_ContentPlaceHolder1_,比如ctl00_ContentPlaceHolder1_TextBox1;

其name的屬性名前都加上ctl00$,比如:ctl00$ContentPlaceHolder1$Button1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章