在JS中获取.NET 的TextBox

JavaScript012

在JS中获取.NET 的TextBox,第1张

为什么会这样:

如果你的控件中出现runat="server"那么,这个控件就是服务器端控件,而JS获取的是客户端

的控件,所以你会获取不到。

这类问题,都有一个通用的解决方法。

先运行下页面,然后看页面源代码,找到你要获取的那个元素,看看那个元素在客户端的ID是什么,最后在JS中获取这个元素。这样就可以了。

如:<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>生成的客户端的代码可能是

<input type="textbox" id="$div$textbox1" />

所以,我们用document.getElementById("$div$textbox1")这个ID参数不是简单的"TextBox1"

而是“$div$textbox1”

为什么会这样,因为C#在将服务器端代码传给客户端之前,会为每个控件生成一个ID,这个ID会包含这个控件的父控件信息,如$div$textbox1中的$div就是这个textbox的父控件,表名这个textbox在一个id="div"的控件里面

还有个知识点需要了解下

ClientID,UniqueID,这两个ID最后在客户端生成的ID是不一样的。

ClientID生成的是客户端的ID属性

而UniqueID生成的是客户端控件的name属性

1.首先通过文本框的使用getelementbyid("idname");方法来获取文本框对象;

2.通过文本框对象来获取文本框的value值

在新打开的页面获得前面文本框内的内容:

window.opener.document.getelementbyid('文本框id').value

拓展资料:

根据指定的

id

属性值得到对象。返回

id

属性值等于

sid

的第一个对象的引用。假如对应的为一组对象,则返回该组对象中的第一个。

百度百科——getelementbyid