Jquery验证不工作返回有效结果

时间:2014-03-11 07:01:21

标签: javascript jquery validation jquery-validate

我有一个喜欢的HTML,

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

我有一个类似于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

      });

我的问题是,当我在文本框中输入值并点击buttin alert($('#create_campaign_form').valid()); alwaise return false并且未输入submitHandler

3 个答案:

答案 0 :(得分:2)

检查此FIDDLE

您需要提交表单。您的提交按钮应该在您的表单中,否则您必须手动调用表单提交。以下

$('#validate_now').click(function(){
      $('#create_campaign_form').submit();
   });
如果表单有效,

输入您的提交处理程序并提醒1。

答案 1 :(得分:1)

您需要在

等表单中创建提交按钮
<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>

演示:Fiddle

或在按钮单击

中手动调用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"/>

然后

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

演示:Fiddle

答案 2 :(得分:1)

将你的按钮html放在表格标签

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

默认情况下,任何类型的按钮都是以html5提交的。