目前在我的应用程序中,我有一个按钮和一个文本框。用户在文本框中键入内容然后按下按钮。我想要的是:
第一次加载页面时,搜索按钮应保持禁用状态。我可以通过在代码隐藏文件中将其设置为禁用来实现这一点。
现在我希望在用户输入最多2个字符时保持禁用状态。当用户键入第三个字符时,该按钮应该自动启用。
重要的是它必须在没有asp .net AJAX的情况下完成,因为这个网站将从旧手机运行。所以只支持非常基本的javascript或jquery。
任何帮助将不胜感激。
由于
Varun的
答案 0 :(得分:4)
为了在asp.net中使用document.getElementById而不必使用全名,你应该让asp.net提供它。代替:
document.getElementById("ctl00_ctl00_phContent_phPageContent_btnSearch")
尝试:
document.getElementById('<%= btnName.ClientID %>')
其中btnName
是asp: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).