我有一個Drupal的形式,即使jQuery submit()函數返回false,Drupal表單也會繼續提交;
<form action="/forms/contact.html" accept-charset="UTF-8" method="post" id="webform-client-form-1148-1" class="webform-client-form" enctype="multipart/form-data">
具有以下提交,
<input type="submit" name="op" id="edit-submit-1" value="Submit" class="form-submit" />
包含表單的頁面加載以下jQuery的內聯,
jQuery("#webform-client-form-1148-1").submit(function(){return false;});
不管我怎麼努力,提交按鈕總是提交表單。由於我返回false,我希望表單忽略提交過程並完全取消。
爲什麼表單繼續提交,即使表單的submit()函數返回'return false'?
這是一個簡單的例子,我在我的代碼中強迫提交表單時總是返回false,因此不應該提交。
根據調試和跟蹤到jQuery的代碼路徑,調用'return false'應該在jQuery核心代碼中調用event.preventDefault下游。這裏是一個到在線發佈的帖子的鏈接,該帖子也涉及這個主題,http://css-tricks.com/6809-return-false-and-prevent-default/。 –
好點Mike!該鏈接提到以下內容,其中涉及更多細節http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/,非常棒的閱讀! –