我有這個jQuery函數注入每個頁面,以便在點擊後禁用提交按鈕。Javascript返回false;沒有取消表單提交另一個。提交jQuery調用
$('form').submit(function() {
var btn = $('input[type=submit]', this);
disableButtonOrLink.disableSubmit(btn);
btn = $('button[type=submit]', this);
disableButtonOrLink.disableSubmit(btn);
});
的問題是,我也有,有時附着於形式的東西形狀像這樣
<form action="someAction" method="post" name="someForm" class="form"
onsubmit="var invalid=false;
invalid=someAction();
if(invalid){return false;}"
id="someForm">
我有這是問題出現了一些後端驗證的是, ('form')。提交動作總是在返回false後被調用。由於返回錯誤,表單實際上並未提交;然而這個jQuery函數仍然在被調用之後。無論如何阻止這個.submit被稱爲?
只是爲了澄清到底發生了什麼: 形式對onsubmit被調用;
返回虛假部分正在被擊中並正確取消提交;
的(「形式」)。遞交仍然被稱爲的onsubmit完成後,就好像表單提交併沒有取消,並禁止按鈕。
我想阻止發生最後一步。
究竟做了preventDefault()方法做/停止的發生??? – mcgray
在我的例子中,它獲取了'form'中的每個'button'元素。 e.preventDefault()停止默認的動作,例如表單中的按鈕,它不會發送它。 #Edit - 實際上,它會更清楚,如果我會趕上'input'型submit'的' - 在這種情況下,默認操作提交表單 – Krizzu
是否有在的onsubmit部分使用.preventDefault()的方式如果它是用html寫的? I.E.的onsubmit =「something.preventDefault()」作爲this.preventDefault()似乎並不奏效 – mcgray