javascript获取asp.net服务器端控件的值
代码如下:
CtrlCalendar.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="CtrlCalendar.ascx.cs" Inherits="CtrlCalendar" %> <table id="Table1" style="HEIGHT: 24px" cellspacing="0" cellpadding="0" width="100" border="0"> <tr> <td style="WIDTH: 81px"><font face="宋体"> <asp:textbox id="txtDat" Width="84px" runat="server" BorderStyle="Groove"></asp:textbox></font></td> <td><div id="Div_imgCanlendar"><font face="宋体"><img id="imgCanlendar" style="CURSOR: hand" alt="" src="../images/calendar.gif" runat="server" /></font></div></td> </tr> </table>
js 获取 asp.net 服务器端控件 Label 与 TextBox RadioButtonList 与 DropDownList 的值
在做 BS架构的项目时,经常遇到 需要用js 来调用 asp.net 服务器端控件的值。
大多数的 控件他的值都可以通过js调用它的 value属性来获得此控件的值,但是也有例外的情况。
经常用的 Label控件。他的值用js就不能通过value属性来获得。
Label控件 js获取的实例, var text= document.getElementById('Label1').innerText;
假如, 这样 var text= document.getElementById('Label1').value; 则 text 为Undefined。
而 TextBox 的值 就可以 var text= document.getElementById('TextBox 1').value;
对于,RadioButtonList 与 DropDownList 他们的获取方式是大不一样的! 这主要是因为 他们所生成的 html元素不一样。
DropDownList 的值 获取 比较简单:
var ddlvalue = document.getElementById('ctl00_Contentplaceholder3_ddlFolws').value;
而 RadioButtonList 的值获取 就比较麻烦:
var value = "";
var Result = document.getElementsByName('ctl00$Contentplaceholder3$rblResult'); for (var i = 0; i < Result.length; i++) { if (Result.item(i).checked) { value = Result.item(i).value; } }
如果 RadioButtonList 控件 没有一个选择的 那么 value的值 为空!
注:Label控件 在火狐中innerText 不兼容 使用document.getElementById('<%=Label1.ClientID %>').childNodes[0].nodeValue