你可以嘗試overwritting DOM節點submit()
方法和document
水平結合jQuery的submit
事件,如:
HTMLFormElement.prototype.submit = function() {
$(this).submit(); // trigger jq submit handler
}
$(document).on('submit', 'form', function (e) {
e.preventDefault();
var data = $(this).serialize();
console.log(this, data);
// call any ajax method to submit data
// >>>>
});
編輯: 如果你想保持提交的默認行爲您可以使用:
HTMLFormElement.prototype._submit = HTMLFormElement.prototype.submit;
HTMLFormElement.prototype.submit = function() {
$(this).submit(); // trigger jq submit handler
}
$(document).on('submit', 'form', function (e) {
e.preventDefault();
var data = $(this).serialize();
console.log(this, data);
this._submit(); // call default prototype 'submit' method
// or call it from any ajax callback method e.g 'success'
});
感謝你 - 但我想捕獲所有的輸出到console.log /或磁盤,並有正常的提交表單!那可能嗎 ? – JeffVader
@JeffVader更新了答案。看看它是否適合您的需求? –
對不起,延遲迴復 - 謝謝,我會在今天嘗試。你能告訴這是什麼:'HTMLFormElement.prototype._submit = HTMLFormElement.prototype.submit; HTMLFormElement.prototype.submit = function(){ $(this).submit(); //觸發jq提交處理程序 }' 我可以理解其餘部分:D謝謝 – JeffVader