在我的申请表中,有时会直接提交,有时也会提交 来自jquery插件的.ajaxForm()。 我想知道表单是如何提交的。我可以在onsubmit事件中了解这个吗?
$(document).on('submit', 'form', function(e) {
if (e.method_to_check_is request_was_ajax)
// rest of code here
});
经过几次评论后,我必须编辑问题。
答案 0 :(得分:1)
您的活动已绑定到您的提交活动,而不是此时的ajax通话。
但是,如果您想要执行检查以查看此提交应该执行的操作,您可以:
在你的标记中加入:
<form id="my-id" class="my-forms" method="GET">
<button type="submit"></button>
</form>
这是你的js:
$('#my-id').on('submit', function(e) {
e.preventDefault();
var method = this.method;
if (method === 'GET') {
console.log(method);
// do your ajax.get
}
if (method === 'POST') {
console.log(method);
// do your ajax.post
}
});
当然,这个例子是设计的,因为this.method
上的$('#my-id')
始终是'GET'。但是,您可以将选择器更改为$('.my-forms')
,以使用.my-forms
类拦截所有元素中的此事件。
答案 1 :(得分:1)
根据你的描述,它不会是一个ajax请求,因为你正在使用on('submit', function(){});
,当你提交html表单时它被调用,它将是对服务器的html请求。
如果您仍想检查请求是GET还是POST的类型,您可以检查表单的method
属性。
$(document).on('submit', 'form', function(e) {
e.preventDefault();
var method = this.method;
if(method=='GET')
//do something
if(method=='POST')
//do something
});