启用禁用按钮asp .net - 使用javascript

时间:2011-09-29 20:18:22

标签: javascript asp.net button textbox

目前在我的应用程序中,我有一个按钮和一个文本框。用户在文本框中键入内容然后按下按钮。我想要的是:

第一次加载页面时,搜索按钮应保持禁用状态。我可以通过在代码隐藏文件中将其设置为禁用来实现这一点。

现在我希望在用户输入最多2个字符时保持禁用状态。当用户键入第三个字符时,该按钮应该自动启用。

重要的是它必须在没有asp .net AJAX的情况下完成,因为这个网站将从旧手机运行。所以只支持非常基本的javascript或jquery。

任何帮助将不胜感激。

由于

Varun的

3 个答案:

答案 0 :(得分:4)

为了在asp.net中使用document.getElementById而不必使用全名,你应该让asp.net提供它。代替:  document.getElementById("ctl00_ctl00_phContent_phPageContent_btnSearch")

尝试:

document.getElementById('<%= btnName.ClientID %>')

其中btnNameasp:Button Id<%=代码将生成完全限定的实际按钮ID,因此您不必担心使用硬编码ID更改的内容。

答案 1 :(得分:3)

我使用HTML文本框,我不认为你可以使用asp.net文本框:

<head>
    <script type="text/javascript">
        function TextChange() {
            var t = document.getElementById("Text1");
            var b = document.getElementById("Button1");
            if (t.value.length > 2) {
                b.disabled = false;
            }
            else {
                b.disabled = true; 
            }


        }

    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="Text1" type="text"  onkeyup="TextChange();" />
        <asp:Button ID="Button1"   runat="server" Text="Button" Enabled="False" />
    </div>
    </form>
</body>

答案 2 :(得分:1)

如果您使用的是jQuery,请使用

$(<selector>).val().length 

获取大小,然后您可以使用

设置按钮的禁用属性
$(<button selector>).attr('disabled',false).