Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   Не работает open(site) в form action (https://javascript.ru/forum/css-html-firefox-mizilla/73555-ne-rabotaet-open-site-v-form-action.html)

chupacabric 25.04.2018 08:38

Не работает 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.

j0hnik 25.04.2018 08:50

<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 тегах плохая практика, не привыкайте.

chupacabric 25.04.2018 18:23

Лучше, но открывается лишняя вкладка
 
Огромное спасибо за совет и помощь!
Да, этот код работает в firefox в отличие от моего. Но при этом почему-то при нажатии start открывается ещё одна копия исходной страницы и только в третьей вкладке открывается то, что нужно (https://www.google.ru/). В опере подобной проблемы нет и Ваш код работает идеально. Можно ли как-то избавиться от дублирования исходной вкладки в ff?

chupacabric 27.04.2018 10:27

Проблема решена
 
Спасибо, проблема с лишней вкладкой решалась просто :) Надо было лишь удалить target="_blank". Прошу прощения за невнимательность. Спасибо за помощь!


Часовой пояс GMT +3, время: 02:51.