JQuery AJAX自动提交表单

我试图发布一个带有ajax的表单并且其工作正常……但是当我尝试自动提交表单时它不起作用…如果我按下提交按钮..它很好..但如果我setInterval(“ submitform();“,5000); ajax不起作用(我的意思是重新加载页面)。

ajax.js

$(document).ready(function(){ $('#form1').submit(function(){ $.ajax({ url : 'inserir.php', type : 'POST', data : $('form').serialize(), success: function(data){ $('#resultado').html(data); } }); return false; }); }) 

form.html

      
Código:


Nome:
window.onload=function(){ setInterval("submitform();", 5000); } function submitform(){ document.getElementById('form1').submit(); }

因此,如果我按下按钮,它工作正常……如果我使用该自动提交function,重新加载页面而不是仅将数据发布到php文件。

谢谢你的帮助!!

来自MDN

https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.submit

从基于Gecko的应用程序调用此方法时,不会触发表单的onsubmit事件处理程序(例如,onsubmit =“return false;”)。 通常,不保证HTML用户代理程序可以调用它。

你应该将ajax调用分成一个函数,然后在超时函数中调用它

 $(document).ready(function(){ $('#form1').submit(ajax); }) function ajax(){ $.ajax({ url : 'inserir.php', type : 'POST', data : $('form').serialize(), success: function(data){ $('#resultado').html(data); } }); return false; } ... window.onload=function(){ setInterval(ajax, 5000); }