#javascript #jquery #jquery_validation
Форма отправляется успешно. Success отрабатывает,страница перезагружается, но нужно,чтобы
после перезагрузки страницы нажалась ссылка.
Пробовал два варианта:
$(document).ready(function(){
$('form').validate({
.....
submitHandler: function(form) {
$(form).ajaxSubmit(
....
success(function(data){
......
setTimeout(location.reload(),1000);
$('#link').trigger('click');
});
);
}
});
});
И второй
$(document).ready(function(){
$('form').validate({
.....
submitHandler: function(form) {
$(form).ajaxSubmit(
....
success(function(data){
......
setTimeout(location.reload(),1000);
$(document).ready(function(){
$('#link').trigger('click');
});
});
);
}
});
});
Ни один не работает
Ответы
Ответ 1
после перезагрузки страницы нажалась ссылка Во-первых, выражение setTimeout(location.reload(),1000); бессмысленно, так как location.reload() вызывается сразу и ничего не возвращает, так что setTimeout через секунду [не]вызовет undefined, и проку от setTimeout никакого нет. Во-вторых, если предположить, что Вы хотели написать setTimeout(function(){location.reload();},1000); $('#link').trigger('click'); то $('#link').trigger('click'); вызывается раньше, чем location.reload(). Если уж следовать Вашей логике, то надо поменять их местами. И в-третьих, после перезагрузки страницы в ней может выполниться только код, который в ней (в новой странице) и вызван. success(function(data){ ...... localStorage.setItem("clickOnLink", "1"); location.reload();Ответ 2
Он не заработает так как у вас в обоих кодах указано setTimeout(location.reload(),1000); это перезагружает страницу а после перезагрузки страницы, вы пытаетесь нажать на клавишу $('#link').trigger('click'); предлагаю подключить cookies function setCookie(name, value) { var date = new Date(new Date().getTime() + 60000); document.cookie = name + "=" + value + "; path=/" + url_alias + "; expires=" + date.toUTCString() } $(document).ready(function(){ $('form').validate({ ..... submitHandler: function(form) { $(form).ajaxSubmit( .... success(function(data){ ...... setCookie('click', '1'); setTimeout(function() {location.reload()}, 1000); }); ); } }); }); И дальше после перезагрузки страницы сравниваем значение cookie
Комментариев нет:
Отправить комментарий