【问题标题】:How I can watching to change input value for validation form? [duplicate]我如何观察更改验证表单的输入值? [复制]
【发布时间】:2017-06-25 07:53:38
【问题描述】:

如何查看更改验证表单的输入值?

我的表单有验证脚本。

此功能正常工作,但总是在点击后才启动。 更改时如何查看input.val()

form# send - form
input(type = "text"
 data - validate = "name")
button(class = "form_btn")


function validator(el, validName) {
 var mask_name = /^[A-Za-z0-9 ]{3,20}$/;
 var el = el;

 if (validName == "name") {
  var el_val = $(el).val();
  if (mask_name.test(el_val)) {
   $(el).removeClass('error');
  } else {
   $(el).addClass('error');
  }
 }
});

function mainValidation() {

 if ($('#send-form')) {
  $('input').each(function() {
   var this_el = $(this);
   var validName = $(this).data("validate");

   validator(this_el, validName);
  });
 }
};

$('.form_btn').on('click', function(e) {
 e.preventDefault();
 mainValidation();
});

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    只需为相关输入字段的input 事件设置一个事件处理程序。

     // You need to provide a selector that references the input field properly
     $('inputSelectorHere').on('input', mainValidation);
    

    您也可以等到用户离开输入字段后使用blur 事件进行验证:

     // You need to provide a selector that references the input field properly
     $('inputSelectorHere').on('blur', mainValidation);
    

    【讨论】:

      【解决方案2】:

      您可以绑定到输入更改事件:

      $('input').on('change', function() {
          var this_el = $(this);
          var validName =  $(this).data( "validate" );
      
          validator( this_el, validName );
      });
      

      【讨论】:

        【解决方案3】:

        试试:

        ('input').on('change', function() {
            mainValidation();
        });
        

        现在您正在收听所有输入字段的更改。当一个字段改变时,它会调用你的函数 mainValidation()。

        告诉我。 干杯

        【讨论】:

        • 欢迎来到 Stack Overflow。你的答案可能是正确的,但如果你能解释为什么这会起作用,它会很有帮助,因为它会成为其他人以后可能会阅读的永久记录。更多详情请见stackoverflow.com/help/how-to-answer
        • 嗨,谢谢你的小费 :)
        猜你喜欢
        • 1970-01-01
        • 2015-12-08
        • 1970-01-01
        • 1970-01-01
        • 2021-10-29
        • 1970-01-01
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        相关资源
        最近更新 更多