如何使用jQuery(javascript)绕过HTML表单提交

时间:2011-10-08 17:03:27

标签: jquery forms form-processing

我有一个简单的表格

<form action="try.php" method="POST">
    <input id="name" name="name" type="text" placeholder="Name" />
    <input id="btn" name="" type="submit" value="Submit" />
</form>

当我点击提交按钮时,我只想在满足某个条件时提交表单;如果没有,表单将不会被提交(而是显示和提醒)。 我不想在这里更改标记。那么,我如何确保即使我已提供<form action="try.php" method="POST">,如果条件未满足,表单也不会被提交?

我想做类似下面代码的事情。

//jQuery code   
$("#btn").live('click', function(event) {
      if(<condition is true>){
          //Show message
      } else {
         //Submit Form
      }
});

3 个答案:

答案 0 :(得分:4)

如果您不想提交表单,可以使用preventDefault()

阻止默认操作
if(<condition is true>){
      event.preventDefault(); 
  }

return false;除非你想要阻止事件冒泡,否则做前者会更好。

答案 1 :(得分:2)

您可以使用event.preventDefault()return false;。然后,您可以使用form.submit()

轻松提交表单

答案 2 :(得分:2)

您必须添加处理程序以形成提交事件,而不是按钮单击。

尝试这样的事情:

$('#form').submit(function() {
  if(<condition is true>) {
    alert('Fill all fields');
    return false; // will cancel default submit
  }

  // do something before submit
  // if necessary
});