繁体   English   中英

在锚点标签上使用jQuery验证

[英]Use jQuery validation on anchor tag click

我想对锚点单击事件使用jQuery验证。 这是我的HTML表单和jquery

HTML表单:

<form name="search_booking" id="search_booking" action="get_booking_by_cust_name.php" method="POST">
          <input type="text" name="job_date" id="job_date">
          <a id="submit" style="cursor: pointer" >Search</a>
</form>

jQuery代码:

$(document).ready(function () {
        $("#submit").click(function () {
            $("#search_booking").validate({
                rules: {
                    job_date: {required: true}
                },
                messages: {
                    job_date: {
                        required: "Please provide job date."
                    }
                },
                submitHandler: function (form) {
                    form.submit();
                }
            });
        });
    });

单击锚标记后,它将不会将表单提交给表单操作。

提前致谢。

您需要在dom ready中初始化验证程序插件,然后在Submit按钮中单击,调用将执行验证的表单的Submit事件。

 $(document).ready(function() { $("#search_booking").validate({ rules: { job_date: { required: true } }, messages: { job_date: { required: "Please provide job date." } }, submitHandler: function(form) { form.submit(); } }); $("#submit").click(function() { $("#search_booking").submit(); }); }); 
 <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.js"></script> <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/jquery.validate.js"></script> <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/additional-methods.js"></script> <form name="search_booking" id="search_booking" action="get_booking_by_cust_name.php" method="POST"> <input type="text" name="job_date" id="job_date"> <a id="submit" style="cursor: pointer">Search</a> </form> 

这与已接受的答案非常相似,除了两件事...

  • 我正在使用event.preventDefault()来阻止锚元素的默认行为。

     $("#submit").click(function(e) { e.preventDefault(); $("#search_booking").submit(); }); 
  • 我添加了href="#"以便.preventDefault()可以适当地阻止跳转到页面顶部,并保持HTML标准的合规性。

     <a id="submit" href="#" style="cursor: pointer">Search</a> 

 $(document).ready(function() { $("#search_booking").validate({ rules: { job_date: { required: true } }, messages: { job_date: { required: "Please provide job date." } }, submitHandler: function(form) { // form.submit(); //default plugin behavior alert('submission'); // only for demo } }); $("#submit").click(function(e) { e.preventDefault(); $("#search_booking").submit(); }); }); 
 <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.js"></script> <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/jquery.validate.js"></script> <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/additional-methods.js"></script> <form name="search_booking" id="search_booking" action="get_booking_by_cust_name.php" method="POST"> <input type="text" name="job_date" id="job_date"> <a id="submit" href="#" style="cursor: pointer">Search</a> </form> 

暂无
暂无

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

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