Открытие новой вкладки и редирект на другую страницу.
Добрый вечер, пытаюсь сделать так что бы у меня в браузере открылась новая вкладка с 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:23. |