在我的网站上,我有多个包含表单的页面。每个表单都有自己独特的名称。
某些表单是使用标准HTML提交按钮提交的,有些使用jquery提交,有些使用简单的JavaScript函数提交,例如:
function form()
{
document.getElementById("form").submit();
}
onchange="form()"
我想做的是随时提交表单。我很乐意将它输出到console.log,一旦我有了工作......
我希望通过Ajax将数据发送到新页面,然后将其写入磁盘。
有人可以建议如何做到这一点吗?
由于
答案 0 :(得分:0)
您可以尝试覆盖DOM节点submit()
方法并在submit
级别绑定jQuery document
事件,例如:
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
// >>>>
});
修改强>
如果您想保留提交form
的默认行为,可以使用:
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'
});