国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

asp.net js獲取控件ID

2019-11-17 01:52:30
字體:
來源:轉載
供稿:網友

asp.net js獲取控件ID

以文本框為例:

一、未使用母版頁

js可以使用document.getElementById('控件的ID')形式,也可以使用document.getElementById('<%=控件的ID.ClientID %>')的形式,代碼如下:

 1 <head runat="server"> 2     <title></title> 3     <script type="text/javascript"> 4         function change() { 5             var control = document.getElementById('TextBox1'); 6             //或者是下面的方式 7             //var control = document.getElementById('<%=TextBox1.ClientID %>'); 8             if (control.value != "") { 9                 alert("輸入的文本:" + control.value);10             }11         }12     </script>13 </head>14 <body>15     <form id="form1" runat="server">16     <div>17         <asp:TextBox ID="TextBox1" runat="server" onblur="change()"></asp:TextBox>18     </div>19     </form>20 </body>

如果是HTML <input>標簽,取得id的方式和服務器控件取得ID的方式一樣,代碼如下:

 1 <head runat="server"> 2     <title></title> 3     <script type="text/Javascript"> 4         function change() { 5             var control = document.getElementById('Text1'); 6             if (control.value != "") { 7                 alert("輸入的文本:" + control.value); 8             } 9         }10     </script>11 </head>12 <body>13     <form id="form1" runat="server">14     <div>15         <input id="Text1" type="text" onblur="change()" />16     </div>17     </form>18 </body>

注意:使用HTML <input>標簽,想在后臺取得其Value值(string text = this.Text1.Value;),或者在js用document.getElementById('<%=Text1.ClientID %>');的形式獲取控件id,需要變為服務器控件,加上runat="server",即<input id="Text1" type="text" runat="server" onblur="change()">即可,當然,即使加上runat="server",js也可以使用document.getElementById('Text1');獲取其id。

二、使用母版頁

①對于標準服務器控件,如<asp:TextBox>,js獲取其控件ID必須使用document.getElementById('<%=TextBox1.ClientID %>');獲取其ID,代碼如下:

 1 <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 2 <script type="text/javascript"> 3     function change() { 4         //var control = document.getElementById('TextBox1');//找不到TextBox1對象 5         var control = document.getElementById('TextBox1.ClientID'); 6         if (control.value != "") { 7             alert("文本為:" + control.value); 8         } 9     }10 </script>11 </asp:Content>12 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">13     <asp:TextBox ID="TextBox1" runat="server" onblur="change()"></asp:TextBox>14 </asp:Content>

如果使用document.getElementById('TextBox1');會出現如下錯誤:

②對于HTML <input>標簽,如果作為服務器控件,即有runat="server",js獲取其id使用document.getElementById('<%=Text1.ClientID %>');,如果不作為服務器控件,使用document.getElementById('Text1');獲取其id。否則也會出現上圖的錯誤,代碼如下:

 1 <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 2 <script type="text/javascript"> 3     function change() { 4         var control = document.getElementById('Text1.ClientID');//作為服務器控件獲取其id 5         //var control = document.getElementById('Tex2');//作為HTML <input>標簽,獲取其id 6         if (control.value != "") { 7             alert("文本為:" + control.value); 8         } 9     }10 </script>11 </asp:Content>12 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">13     <input id="Text1" type="text" runat="server" onblur="change()"/>14     <%--<input id="Text2" type="text" onblur="change()"/>--%>15 </asp:Content>

注:如果想在后臺獲取其文本值,必須將其作為服務器控件,即加上runat="server"

③對于服務器控件,如果在母版頁body內的ContentPlaceHolder控件加上ClientIDMode="Static" 屬性后,內容頁中js獲取服務器控件id就可以直接使用其ID名(不用使用<%=控件ID.ClientID %>),母版頁代碼如下:

 1 <head runat="server"> 2     <title></title> 3     <asp:ContentPlaceHolder ID="head" runat="server"> 4     </asp:ContentPlaceHolder> 5 </head> 6 <body> 7     <form id="form1" runat="server"> 8     <div> 9         <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" ClientIDMode="Static">10         11         </asp:ContentPlaceHolder>12     </div>13     </form>14 </body>

內容頁代碼如下:

 1 <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 2 <script type="text/javascript"> 3     function change(id) { 4         var control = document.getElementById(id); 5         if (control.value != "") { 6             alert("文本為:" + control.value); 7         } 8     } 9 </script>10 </asp:Content>11 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">12     <input id="Text1" type="text" runat="server" onblur="change(this.id)"/><br />13     <asp:TextBox ID="TextBox1" runat="server" onblur="change(this.id)"></asp:TextBox>14 </asp:Content>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 克山县| 綦江县| 离岛区| 济源市| 志丹县| 浮山县| 三明市| 香格里拉县| 景德镇市| 阿城市| 大新县| 鄂尔多斯市| 钟祥市| 松滋市| 璧山县| 香港| 庐江县| 海林市| 察雅县| 清原| 卢湾区| 论坛| 寿宁县| 永顺县| 城口县| 偏关县| 无极县| 明溪县| 隆德县| 高台县| 曲阜市| 嵊州市| 鄢陵县| 富民县| 禹州市| 泸西县| 丹东市| 双流县| 南皮县| 会理县| 榆树市|