繁体   English   中英

JavaScript中的验证:单击按钮时文本框为空

[英]Validation in JavaScript : empty textbox when click the button

我需要使用JavaScript验证文本框,到目前为止,我做到了:

$(document).ready(function(){
$('#search_form').validate({
rules: {
 searchText:{
     required: true,    
     number: true
            },
  },
 messages: {

     searchText: {
      required: "required",
      number: "must be a number"
     }}
      })}
    );

它工作正常,但如果用户按下搜索按钮但未输入任何值,我还需要显示一条消息,当然,文本框包含消息“请输入您的电话号码”(使用占位符)。

泥ach形式:

<form method="get" id="search_form">
<input type="button" value="search" id="search" />
<input type="text"  name="searchText" id="searchText" placeholder="please enter your number"    />
</form> 

如果用户在未插入数字的情况下按下搜索按钮,则当前代码不显示任何内容,但是,例如,如果他插入字母,他将收到消息“必须为数字”,并且如果他删除了文本框中的任何值,则将获得消息“必填”。

我试过了 :

searchText:{
     required: {  depends: function()
        { return $( "#searchText" ).val() == 'please enter your number '} },    
     number: true
        },

但没有任何变化。

我希望我能很好地解释我的问题。


谢谢!

你是对的,如果我删除文本框中的任何值,我会得到所需的消息,它的工作原理很好。 但是由于我在表单上进行了验证,因此按钮计时没有响应。 我如何也可以在按钮上添加验证?

请记住,您的字符串比较是精确的搜索。 看起来您尝试过的代码中的“数字”后面有多余的空格。 尝试删除该空间并再次测试。 如果文本字段的值与占位符值完全匹配,则您的depends方法应返回true。 另外,您可以尝试$.trim()来确保删除字符串开头和结尾的空格。

您可能考虑的另一种方法是实例化“原始值”属性(使用jQuery的data方法),以便如果占位符值发生更改,则无需更新JavaScript验证代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM