2017-06-03 124 views
0

我有一个简单的WHOIS形式:如何使用jQuery提交onclick事件来验证ajax表单?

<form id="domaincheck" class="form-inline ltr" method="post"> 
    <input type="text" class="form-control center input-md" name="sld" id="sld" placeholder="pleade enter domain name" required> 
    <select class="form-control ltr input-md input-group-addon" id="tld" name="tld" multiple="multiple"> 
     <option value="com" selected="">.com</option> 
     <option value="ir">.ir</option> 
     <option value="net">.net</option> 
     <option value="org">.org</option> 
     <option value="co">.co</option> 
     <option value="xyz">.xyz</option> 
     <option value="biz">.biz</option> 
     <option value="info">.info</option> 
     <option value="asia">.asia</option> 
     <option value="us">.us</option> 
     <option value="mobi">.mobi</option> 
     <option value="name">.name</option> 
    </select> 
    <button type="button" class="btn btn-info" onclick="get_whois()">check!</button> 
</form> 

,并使用jquery validation plugin来验证。 我加入这个代码来验证输入设定最低字符必须是4

$("#domaincheck").validate({ 
    rules: { 
     sld: { 
      required: true, 
      minlength: 4 
     } 
    }, 
    messages: { 
     sld: { 
      required: "Please input domain name!", 
      minlength: jQuery.validator.format("Please, at least {0} characters are necessary") 
     } 
    } 
}); 

现在如何禁用按钮有onclick事件,以避免发送请求,直到输入有效。 ,并且还添加了规则来说明只有这些字符(a-z A-z和“ - ”)才能输入输入内容。

任何帮助?

感谢

回答

1

Click Here For Demo JSFiddle

$.validator.addMethod("sldRegex", function(value, element) { 
      return this.optional(element) || /^[A-Za-z\-]+$/i.test(value); 
}, "Username must contain only letters, numbers, or dashes."); 
$("#domaincheck").validate({ 
     rules: { 
      sld: { 
       required: true, 
       minlength: 4, 
       sldRegex: true 
      } 
     }, 
     messages: { 
      sld: { 
       required: "Please input domain name!", 
       minlength: jQuery.validator.format("Please, at least {0} characters are necessary") 
      } 
     } 
     ,submitHandler: function(form) { 

        form.submit() ; 
       } 
    }); 
+0

谢谢你,但我必须使用类型=“按钮”的按钮,这是一个Ajax形式调用由onclick事件的请求。立即点击onclick事件发送请求。还提交按钮类型重定向和刷新页面。 –

+0

所以你可以把你的ajax请求里面submitHandler:function(form){ // code here } –

+1

谢谢你。做得好! –