Событие подачи не всегда работает
Следующий код будет работать во всех моих тестах и работает большую часть времени, но не для всех посетителей.
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% форм сообщений, которые просто не запускают код. Они варьируются в браузере, ОС и устройстве.
1 ответ
Решение
Вы должны отключить обычную отправку формы, потому что, когда она перезагружает страницу, она отменяет запрос 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');
});
});
});