Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对锚定标记单击使用jQuery验证_Php_Jquery_Jquery Validate - Fatal编程技术网

Php 对锚定标记单击使用jQuery验证

Php 对锚定标记单击使用jQuery验证,php,jquery,jquery-validate,Php,Jquery,Jquery Validate,我想在锚定标记单击事件上使用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"

我想在锚定标记单击事件上使用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>
单击锚定标记后,它将不会向表单操作提交表单


提前感谢。

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

$(文档).ready(函数(){
$(“搜索预订”)。验证({
规则:{
工作日期:{
必填项:true
}
},
信息:{
工作日期:{
必填:“请提供工作日期。”
}
},
submitHandler:函数(表单){
表单提交();
}
});
$(“#提交”)。单击(函数(){
$(“搜索预订”).submit();
});
});

搜寻

您需要在dom ready中初始化validator插件,然后在submit按钮中单击,调用表单的submit事件来进行验证

$(文档).ready(函数(){
$(“搜索预订”)。验证({
规则:{
工作日期:{
必填项:true
}
},
信息:{
工作日期:{
必填:“请提供工作日期。”
}
},
submitHandler:函数(表单){
表单提交();
}
});
$(“#提交”)。单击(函数(){
$(“搜索预订”).submit();
});
});

搜寻

这与公认的答案非常相似,除了两件事

  • 我使用的是阻止锚元素的默认行为

    $("#submit").click(function(e) {
        e.preventDefault();
        $("#search_booking").submit();
    });
    
  • 我添加了一个
    href=“#”
    ,这样可以通过
    .preventDefault()
    正确阻止跳转到页面顶部,并保持HTML标准的符合性

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

    这与公认的答案非常相似,除了两件事

    • 我使用的是阻止锚元素的默认行为

      $("#submit").click(function(e) {
          e.preventDefault();
          $("#search_booking").submit();
      });
      
    • 我添加了一个
      href=“#”
      ,这样可以通过
      .preventDefault()
      正确阻止跳转到页面顶部,并保持HTML标准的符合性

      <a id="submit" href="#" style="cursor: pointer">Search</a>
      
      
      
      那么它是否是工作代码?问题是什么?将a href=“#”放在锚定标记中也是由于
      .validate({})
      在单击事件处理程序中,每次单击都会初始化验证。这绝对不是一个好主意。重复:那么它是不是工作代码?问题是什么?将a href=“#”放在锚定标记中也是由于
      .validate({})
      在单击事件处理程序中,每次单击都会初始化验证。这绝对不是个好主意。重复:@VishalKulkarni&Arun,最好在
      单击
      处理程序中使用
      事件.preventDefault()
      以及
      href=“#”
      来保持HTML标准的一致性。否则,您可能会跳转页面,单击将进入浏览器历史记录。毕竟,您没有按照设计使用锚链接,因此您最好停止其所有默认行为。@VishalKulkarni&Arun,最好在
      单击
      处理程序中使用
      事件.preventDefault()
      以及
      href=“#”
      来保持HTML标准的一致性。否则,您可能会跳转页面,单击将进入浏览器历史记录。毕竟,您没有按照设计使用锚定链接,因此您最好停止其所有默认行为。