简体   繁体   English

jQuery验证不起作用返回有效结果

[英]Jquery validate not working return valid result

I have a html like, 我有一个HTML,

<form id="create_campaign_form">
   <input type="text" name="campaign_name" id="campaign_name" >
</form>
<button id="validate_now" type="button" >OK</button>

And i have a jquery with validate.js like, 我有一个带有validate.js的jQuery,

  $.fn.validate_campaign=function(options){
  $("#create_campaign_form").validate({
        rules: {
            campaign_name  : "required",
           },
        messages:{      
            campaign_name   : "Please enter Campaign name",             
              },
 submitHandler: function(form) {
            alert(1);
            return true;
        }
    });
       $('#validate_now').click(function(){
          alert($('#create_campaign_form').valid());
       });
    }

     $(document).ready(function(){
         $(this).validate_campaign(); //Invoke on document ready

      });

my problem is ,when i enter value in textbox and click the buttin alert($('#create_campaign_form').valid()); 我的问题是,当我在文本框中输入值并单击按钮alert($('#create_campaign_form').valid()); alwaise return false and does not enter submitHandler alwaise返回false ,并且不输入submitHandler

check this FIDDLE 检查此FIDDLE

You need to submit your form. 您需要提交表格。 either your submit button should be inside your form or else you have to call form submit manually. 您的提交按钮应该位于表单内部,否则您必须手动调用表单提交。 The following 下列

$('#validate_now').click(function(){
      $('#create_campaign_form').submit();
   });

enters your submit handler and alerts 1, if form is valid. 输入您的提交处理程序并发出警报1(如果表单有效)。

You need to create a submit button in the form like 您需要以如下形式创建一个提交按钮

<form id="create_campaign_form">
    <input type="text" name="campaign_name" id="campaign_name" />
    <input type="submit" class="button" value="Submit" id="validate_now"/>
</form>

Demo: Fiddle 演示: 小提琴

or manually call the submit method in the button click 或在按钮点击中手动调用submit方法

<form id="create_campaign_form">
    <input type="text" name="campaign_name" id="campaign_name" />
</form>

<input type="button" class="button" value="Submit" id="validate_now"/>

then 然后

$('#validate_now').click(function () {
    $("#create_campaign_form").submit()
});

Demo: Fiddle 演示: 小提琴

put your button html inside form tag 将您的按钮html放在表单标签中

<form id="create_campaign_form">
  <input type="text" name="campaign_name" id="campaign_name" >
  <button id="validate_now" >OK</button>
</form>

By default, button with out any type is submit in html5. 默认情况下,任何类型的按钮都将在html5中提交。

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

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