javascript - 单击“搜索”按钮后未收到客户端消息

标签 javascript c# asp.net validation

我正在开发 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 文本框中输入的字母少于三个时,我需要此警告消息。

enter image description here

最佳答案

效果很好,请试一试:)

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/

相关文章:

javascript - HTML/CSS Div 定位,使子 Div 适合父 Div

c# - 在 .net 中人为地创建连接超时错误

c# - 跳出包含 switch 语句的 while 循环

c# - 如何从编辑器分类器项目 (c#) 获取当前解决方案目录?

javascript - 在 Javascript 中确定路径是相对路径还是绝对路径

javascript - 如何在javascript中从数组中删除某些数字元素

javascript - 使用 Slick 在网页上按顺序淡入淡出一系列照片

asp.net - 带有 CSS 忽略的 Razor View <p></p>

ASP.NET core 2 充当反向代理用户重写中间件

c# - 海量数据的问题