Как использовать расположение окна - PullRequest
0 голосов
/ 18 апреля 2019

Итак, я хочу создать форму с текстовым полем и кнопкой, которая при щелчке открывает URL-адрес, который я набираю внутри текстового поля, какие-либо советы о том, как использовать функцию, чтобы она работала?

function open(url) {
  var win = window.location(url, '_blank');
  win.focus();
}
<form>
  Give Url:<br>
  <input type="url" name="url" placeholder="http://www.example.com"><br>
</form>
<button type="button" onclick="open(url)">Open Url</button>

Ответы [ 3 ]

0 голосов
/ 18 апреля 2019

Проблема в том, что вы передаете неизвестную переменную, которая называется url :

function open(url) {
  var win = window.location(url, '_blank');
  win.focus();
}
<form>
  Give Url:<br>
  <input id="url" type="url" name="url" placeholder="http://www.example.com"><br>
</form>
<button type="button" onclick="open(document.getElementById('url').value)">Open Url</button>

В своем фрагменте я передаю значение элемента ввода с идентификатором url

0 голосов
/ 18 апреля 2019

Вы нигде не отправляете данные формы, поэтому вам не нужен элемент form, а вашему input не нужен атрибут name.

Просто позвоните window.open(url) и , вам не следует настраивать обработчики событий в HTML (даже если вы видите, что все остальные делают это).

Код ниже работает, но не здесь, в среде фрагмента кода переполнения стека. Но вы можете проверить тот же код здесь.

let tb = document.querySelector("input"); // Get a reference to the textbox

// Get a reference to the button and set up the click event handler for it
document.querySelector("button").addEventListener("click", function () {
  var win = window.open(tb.value);
});
Give Url:<br>
<input type="url" placeholder="http://www.example.com"><br>
<button type="button">Open Url</button>
0 голосов
/ 18 апреля 2019

Использование window.open:

function open(url) {
    var win = window.open(url, "_blank");
    win.focus();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...