Есть ли опция "после отправки" jquery?
У меня есть форма, которая загружает файл и нацелена на iframe на странице. Когда пользователь нажимает кнопку "Отправить", я хочу, чтобы содержимое файла "очистилось".
Я пробовал это
$('#imageaddform').submit(function(){
$('#imagefile').val('');
});
Но он очищает форму перед подачей, поэтому ничего не загружается.
Как очистить после отправки?
Ответы
Ответ 1
Если у вас нет других обработчиков, вы можете сделать что-то вроде этого:
$('#imageaddform').submit(function(e) {
e.preventDefault(); // don't submit multiple times
this.submit(); // use the native submit method of the form element
$('#imagefile').val(''); // blank the input
});
Ответ 2
Решение Lonesomeday работало для меня, но для Google Chrome я обнаружил, что он все равно отправит данные пустой формы, если я не добавлю такой тайм-аут:
$('#imageaddform').submit(function(e) {
e.preventDefault(); // don't submit multiple times
this.submit(); // use the native submit method of the form element
setTimeout(function(){ // Delay for Chrome
$('#imagefile').val(''); // blank the input
}, 100);
});
Ответ 3
Вы можете сделать что-то вроде этого:
$('#imageaddform').submit(function(){
setTimeout(function() {
$('#imagefile').val('');
},100);
});
Ответ 4
Как вы отправляете форму? если это обычная форма post, тогда тогда страница не будет существовать в этом случае. Мне интересно, хотите ли вы очистить форму до обновления страницы, чтобы, когда пользователь возвращается, он не видит заполненные значения.
Если форма отправлена ajax, вы можете
function(){
$('form1')[0].submit();
clearForm();
}
Я пропустил вопрос?