Не работает open(site) в form action
Я только начал писать на js и недавно столкнулся с необъяснимым поведением скрипта в firefox. Мне надо, чтобы после ввода данных в input открывался другой сайт. В примерном виде код выглядит так:
<script type="text/javascript"> site = 'https://www.google.ru/'; </script> <form action="javascript: open(site);" method="get" target="_blank"> <input type="text" id="q1"> <button type="submit"> </button> </form> Этот код без проблем работает во всех браузерах, кроме firefox. В ff вместе нужного сайта открывается просто пустая новая вкладка. При этом если делать переход на другой сайт без формы, например так: <script type="text/javascript"> site = 'https://www.google.ru/'; open(site); </script> то все работает как надо, сайт открывается. В чем тут дело, подскажите, пожалуйста? Как сделать, чтобы этот код заработал в ff? Если это важно, то я проверял в firefox 59. |
<form method="get" target="_blank"> <input type="text" id="q1"> <button type="submit">Start</button> <script> document.querySelector('button').onclick =()=> open('https://www.google.ru/'); </script> js код в HTML тегах плохая практика, не привыкайте. |
Лучше, но открывается лишняя вкладка
Огромное спасибо за совет и помощь!
Да, этот код работает в firefox в отличие от моего. Но при этом почему-то при нажатии start открывается ещё одна копия исходной страницы и только в третьей вкладке открывается то, что нужно (https://www.google.ru/). В опере подобной проблемы нет и Ваш код работает идеально. Можно ли как-то избавиться от дублирования исходной вкладки в ff? |
Проблема решена
Спасибо, проблема с лишней вкладкой решалась просто :) Надо было лишь удалить target="_blank". Прошу прощения за невнимательность. Спасибо за помощь!
|
Часовой пояс GMT +3, время: 02:51. |