我有一个简单的表格
<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
}
});
答案 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
});