onsubmit 事件并不总是有效

onsubmit event doesn't always work

以下代码在我的所有测试中都有效,并且大部分时间都有效,但不会对所有访问者触发。

jQuery(document).ready(function(){
  jQuery('#formane').on('submit', function(){
    jQuery.post('/storeit.php', jQuery(this).serialize(), function(){
      console.log('success');
    }).fail(function(){
      console.log('error');
    });
  });
});

storit.php 页面获取数据并将其放入数据库,然后再将表单发布到 salesforce。我尝试使用带有 javascript 函数的 onsubmit 完全删除 jQuery。

我收到大约 15% 的表单帖子不会触发代码。它们的范围在浏览器、OS 和设备中。

您应该禁用正常的表单提交,因为当它重新加载页面时它会取消 AJAX 请求。相反,在成功函数中提交表单。

jQuery(document).ready(function(){
  jQuery('#formane').on('submit', function(e){
    e.preventDefault();
    jQuery.post('/storeit.php', jQuery(this).serialize(), function(){
      console.log('success');
      $("#formane")[0].submit();
    }).fail(function(){
      console.log('error');
    });
  });
});