使用javascript设置asp.net文本框值

时间:2014-01-10 05:24:23

标签: javascript asp.net

我想使用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

我不明白什么是错的。

请帮忙。

5 个答案:

答案 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。