onsubmit事件并不总是有效

时间:2017-06-20 16:32:19

标签: javascript jquery document-ready onsubmit

以下代码适用于我的所有测试,大部分时间都可以使用,但不会为所有访问者开启。

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%的表单帖子,但不会触发代码。它们包括浏览器,操作系统和设备。

1 个答案:

答案 0 :(得分:0)

您应该禁用正常的表单提交,因为当它重新加载页面时,它将取消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');
    });
  });
});