提交表单上的jquery preventdefault将不会被重新提交

时间:2017-12-19 06:20:56

标签: javascript jquery html forms

我的代码出了问题。我有一个html表单,其中按钮在单击时提交但是会先进行一些检查,如果所有值都为true,则表单将被提交 - 但是在我的代码中,它不起作用。有没有人对此有所了解?

$("#button").click(function(e) {
  e.preventDefault();
  if ($(this).attr("at") == "1") { //some checking
    alert("Subsssmitted");
    $("form").submit(function() {
      alert("Submitted"); // it didn't passed the form didn't submitted
    });
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="">
  <!-- some code -->
  <button id="button" at="1">Submit</button>
</form>

5 个答案:

答案 0 :(得分:1)

添加

$('#form').submit() 

之后

$("form").submit(function(){
   alert("Submitted"); // it didn't passed the form didn't submitted
});

因为您只是定义事件处理程序但不触发提交事件。

如果可能的话移动

$("form").submit(function(){
   alert("Submitted"); // it didn't passed the form didn't submitted
});

点击事件处理程序

之外

答案 1 :(得分:1)

你应该这样做:

$("#button").click(function(e){
    e.preventDefault();
    if($(this).attr("at") == "1"){ //some checking
        alert("Subsssmitted");
        // here you trigger event
        $("form").submit();
    }
});
// here you listen event
$("form").on("submit", function() {
    alert("submitted")
})

请到这里https://jsfiddle.net/6hzt663q/

答案 2 :(得分:0)

$('#myForm').submit(function(event){
// do your validation success 
if(!success){
    event.preventDefault();
}
console.log('fsdfsdfds');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form id="myForm" action="/google">
  <input type="text" id="name">
  <button id="button" at="1" type="submit">Submit"></button>
</form> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 3 :(得分:0)

您的代码适用于我,删除e.preventDefault()并尝试,

$("#button").click(function(e){
  if($(this).attr("at") == "1"){
     $("form").submit(function(){
        console.log('done');
     });
   }
});
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<form action="">
    <button id="button" at="1">Submit</button>
</form> 

答案 4 :(得分:0)

刚删除&#34; e.preventDefault();&#34;按钮点击事件,它将正常工作。