使用AJAX提交表单PHP JQuery将我带到操作页面
我试图在不刷新页面的情况下提交此表单,但是当我提交时,它会将我带到操作页面。 我的代码出了什么问题? 这是我的表格:
';
这是我的剧本:
$('form.ajax').on('submit', function () { var that = $(this), url = that.attr('action'), type = that.attr('method'), data = {}; that.find(['name']).each(function (index, value)) { var that = $(this), name = that.attr('name'), value = that.val(); data[name] = value; }); $.ajax({ url: url, type: type, data: data, success: function (response) { consol.log(response) } }); });
将事件作为参数传递并使用event.preventDefault()
。
例
$('form.ajax').on('submit', function (e) { e.preventDefault();
你忘了最后return false
或防止默认。
$('form.ajax').on('submit', function (event) { event.preventDefault(); var that = $(this), url = that.attr('action'), type = that.attr('method'), data = {}; .... //or return false; });
使用e.preventDefault()或return false;
防止表单提交
$('form.ajax').on('submit', function (e) {//Pass the event argument here var that = $(this), url = that.attr('action'), type = that.attr('method'), data = {}; that.find(['name']).each(function (index, value)) { var that = $(this), name = that.attr('name'), value = that.val(); data[name] = value; }); $.ajax({ url: url, type: type, data: data, success: function (response) { consol.log(response) } }); e.preventDefault(); //OR return false; });
使用event.preventDefault()
$('form.ajax').on('submit', function (e) { e.preventDefault(); //code here });
使用jQuery ajax并不妨碍浏览器遵循Form Action页面。 要实现这一点,您应该通过简单的函数阻止浏览器执行此操作: e.preventDefault()
这是你的代码:
//Pass the event argument (e) $('form.ajax').on('submit', function (e) { var that = $(this), url = that.attr('action'), type = that.attr('method'), data = {}; that.find(['name']).each(function (index, value)) { var that = $(this), name = that.attr('name'), value = that.val(); data[name] = value; }); $.ajax({ url: url, type: type, data: data, success: function (response) { consol.log(response) } }); //Prevent Browser to follow form action link: e.preventDefault(); //you can use also // return false; });
试试这个..
function mail() { var name = $("#user_name").val(); var email = $("#email").val(); $.ajax({ type: "POST", url: "contact.php", data: "name=" + name+"&customer_mail="+email, success: function(html) { //do ur function } }); }