2011-10-08 47 views
1

绕过HTML表单提交我有一个简单的表格如何使用jQuery(JavaScript)的

<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 
     } 
}); 
+1

您可能需要使用,而不是'.live'的'.bind'财产。绑定对于连接已知元素很有用。 Live对于稍后可能添加到页面的动态内容很有用。 – Brombomb

+0

感谢分享知识:) – ptamzz

回答

4

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

if(<condition is true>){ 
     event.preventDefault(); 
    } 

return false;这是更好地做前者,除非你也想阻止事件的默认操作冒泡。

2

你必须添加处理程序来形成提交事件,而不是按钮点击。

尝试这样:

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

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