当输入值改变时,Jquery验证equalTo函数不起作用

时间:2017-10-19 11:08:51

标签: javascript jquery validation

我有一张带验证码的表格。页面加载时,验证工作正常。但是用户可以使用不同的值重新加载验证码。那时jquery验证不起作用。 equalTo函数检查该输入字段的第一个值,而不是重新加载后的最后一个值。请帮我解决。

HTML

<div class="refreshcaptcha dispinitial"><input type="text"></div> 

JQuery验证

$("#hireform").validate({
    ignore: ".ignore"
    , errorElement: "label"
    , errorClass: "has-error"
    , submitHandler: function (e) {  
        e.submit()
    }
    , highlight: function (e) {
        $(e).closest(".form-group").removeClass("success").addClass("has-error")
    }
    , rules: {
        name: {
            required: !0
            , maxlength: 45
        }
        , email: {
            required: !0
            , maxlength: 100
        }
        , message: {
            required: !0
            , minlength: 6
            , maxlength: 1500
        }
        , captcha: {
            equalTo: $('#hireform').find('.refreshcaptcha>input')
        }
    }
})

3 个答案:

答案 0 :(得分:0)

将验证码值存储为常量,刷新时更改此常量。并在验证检查catcha是否等于常量。 无需查看更多代码就无法提供帮助。

答案 1 :(得分:0)

也许使用.change()

$( "input[type='text']" ).change(function() {
  alert("work")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text">

Click for Explain

答案 2 :(得分:0)

我找到了简单的解决方案。

  1. 可以在输入字段中使用equalTo函数。或
  2. 在jquery
  3. 中创建equalTo: "#cap_val_reload"

    HTML

    <input type="text" name="captcha" equalTo="#cap_val_reload" class="form-control captchauser" minlength="5" required maxlength="5" value="" placeholder="Please enter above value"> 
    

    JQuery的

    $("#hireform").validate({
      ignore: ".ignore"
      , errorElement: "label"
      , errorClass: "has-error"
      , submitHandler: function (e) {  
          e.submit()
      }
      , highlight: function (e) {
          $(e).closest(".form-group").removeClass("success").addClass("has-error")
      }
      , rules: {
          name: {
              required: !0
              , maxlength: 45
          }
          , email: {
              required: !0
              , maxlength: 100
          }
          , message: {
              required: !0
              , minlength: 6
              , maxlength: 1500
          }
          , captcha: {
              required: !0
              equalTo: "#cap_val_reload"
          }
      }
    })