2017-06-20 92 views
0

下面的代码可以在我的所有测试中使用,并且大部分时间都可以使用,但它不会为所有访问者启动。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之前将其扔到数据库中。我已经尝试完全删除jQuery,使用onsubmit与JavaScript函数。

我得到大约15%的表单帖子,只是不激发代码。它们涵盖浏览器,操作系统和设备。

+0

这里没有足够的信息来诊断这一点。 –

+0

无法保证ajax请求在表单重定向页面之前甚至有机会触发 – Musa

+0

您还想看什么? – Cymbal

回答

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'); 
    }); 
    }); 
}); 
+0

这样做。谢谢。 – Cymbal