我正在开发 alpha.dubaiexporters.com
。有一个包含两个输入关键字和类别的搜索面板。我想验证关键字部分。
如果用户输入的字符少于三个并单击“搜索”按钮,则应显示客户端消息,说明输入的内容应多于 3 个字符
。我没有收到客户端消息。
以下是我的代码:
<input type="text" id="txtkeyword" name="s" runat="server" autocomplete="off">
<asp:Button ID="Search" class="dt-header-search-submit dt-button dt-button-danger" style="top:0px;width:226px;height:70px;" Text="Search" runat="server" onclick="doit" OnClientClick="return checkLength();" />
下面是我的 Javascript:
<script type="text/javascript">
function checkLength() {
var textbox = document.getElementById("txtkeyword");
if (textbox.value.length < 3) {
alert("The entered input should be 3 or more than 3 characters");
return false;
}
}
</script>
代码隐藏:
protected void doit(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtkeyword.Value))
{
try
{
String mainsearch1 = null;
mainsearch1 = txtkeyword.Value.Trim();
if (mainsearch1.Length > 2)
{
Response.Redirect("searchmain.aspx?mainsearch=" + mainsearch1 + "&querylevel=1");
}
}
catch (Exception ex)
{
}
}
else if (!string.IsNullOrEmpty(txtserach.Value))
{
try
{
String cat = null;
cat = txtserach.Value.Trim();
if (cat.Length > 2)
{
Response.Redirect("searchcat1.aspx?cat=" + cat);
}
}
catch (Exception ex)
{
}
}
}
}
我不知道为什么它不调用 javascript 函数。
预期输出:当用户在 txtkeyword
文本框中输入的字母少于三个时,我需要此警告消息。
最佳答案
效果很好,请试一试:)
function checkLength() {
debugger;
var textbox =$get("<%=txtkeyword.ClientID%>"); //document.getElementById("<%=txtkeyword.ClientID%>")
if (textbox.value.length < 3) {
alert("The entered input should be 3 or more than 3 characters");
return false;
}
}
注意:当有 runat="server"时,您不能直接访问控件
关于javascript - 单击“搜索”按钮后未收到客户端消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52713702/