Открытие новой вкладки и редирект на другую страницу.
Добрый вечер, пытаюсь сделать так что бы у меня в браузере открылась новая вкладка с src формы ,а первоначальная вкладка редиректилась на другую страницу. Вся эта магия должна происходить после отправки формы.
Я пробовал вот так, но не получается.
<html>
<script>
function sendmail() {
window.location.href = "http://google.com";
document.getElementById("frm").submit();
return false;
}
</script>
<form method="POST" id= "frm" target='_blank' action="адрес новой вкладки">
<input name="receiver" type="hidden" value="41">
<input name="label" value="Что то там" type="hidden">
<input value="Отправить" onclick="sendmail();" type="button" >
</form>
</html>
Происходит только открытие новой вкладки, старая остаётся прежней хотя там должен был произойти редирект на другую страницу. Где может быть ошибка? |
<html>
<form method="POST" id= "frm" target='_blank' action="адрес новой вкладки">
<input name="receiver" type="hidden" value="41">
<input name="label" value="Что то там" type="hidden">
<input value="Отправить" type="submit" onclick="setTimeout('location.href = \'http://google.com\'',100)">
</form>
</html>
Походу неувязки только в Хроме... и связаны с потерей фокуса при переходе Наверно менять адрес нужно по событию возврате фокуса (при отправленной форме) к странице с отправленной формой |
Ваш код работает в хроме, спасибо за ответ.
Так в чём был косяк? Js не видел часть или проблема в браузере?? |
<html>
<script>
function sendmail() {
setTimeout('window.location.href = "http://google.com"',200);
return false;
}
</script>
<form method="POST" id= "frm" target='_blank' action="адрес новой вкладки">
<input name="receiver" type="hidden" value="41">
<input name="label" value="Что то там" type="hidden">
<a onclick='document.getElementById("frm").submit();sendmail()'><button type="button">Oтправить</button></a>
</form>
</html>
|
Цитата:
askot, Chrome (как минимум) обрабатывает сабмит форм и смену локэйшна иначе. Пока блок кода не отработает - сабмита не будет и локэйшн не сменится, в отличие от Firefox. Причем в хроме нельзя сменить локэйшн и засабмитить форму одновременно. Это решается сменой локэйшна по таймеру, с запозданием. Только не вздумайте копировать код который Deff дал 4ым постом - он иногда сам не понимает что кодит. |
| Часовой пояс GMT +3, время: 22:21. |