2011-10-08 44 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 
});