我想使用javascript
设置asp.net文本框的值我的JS代码是:
document.getElementById('<%=txtFlag.ClientID %>').value = "Track";
我的文本框是:
<asp:TextBox ID="txtFlag" runat="server" Visible="False"></asp:TextBox>
但它给了我一个错误document.getElementById(...)' is null or not an object
我不明白什么是错的。
请帮忙。
答案 0 :(得分:6)
<asp:TextBox ID="txtFlag" runat="server" Visible="False"></asp:TextBox>
设置visible=false
将导致此文本框不显示在呈现的页面中。删除它,然后添加display:none;
<asp:TextBox ID="txtFlag" runat="server" style="display:none;"></asp:TextBox>
答案 1 :(得分:4)
尝试在文本框中包含ClientIDMode
属性
<asp:TextBox ID="txtFlag" runat="server" Visible="False"
ClientIDMode="Static"></asp:TextBox>
答案 2 :(得分:4)
您正在调用javascript before complete document load
。请在document.ready
函数上编写您的javascript代码
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
$(document).ready(function() {
document.getElementById('<%=txtFlag.ClientID %>').value = "Track";
});
</script>
第二件事是使用display none代替可见的false或使用hidden field control
<asp:TextBox ID="txtFlag" runat="server" style="display:none;"></asp:TextBox>
答案 3 :(得分:2)
document.getElementById('txtFlag').value='Track'
试试这个
答案 4 :(得分:2)
解决方案1:
将该文本框设为visible = true并尝试
当您将控件设置为可见false时,该控件将不会在客户端加载,因为您知道javascript将在客户端本身执行。
解决方案2:
在页面末尾添加此javascript。