window.location.assign () перейти к вводу пользователем URL? - PullRequest
0 голосов
/ 29 ноября 2018

Мне нужно использовать Javascript window.location.assign(), чтобы получить ввод от пользователя в поле ввода, и после нажатия кнопки пользователь будет перенаправлен на URL-адрес, введенный в этом поле ввода. У меня возникают трудности с поиском этого в Интернете.Я предполагаю, что мне нужно будет добавить функцию в мой скрипт (не показан).

    <form style="padding-top: 20px;">
        URL: <input type="url" name="url">
        <input type="button" value="GO!" onclick="newUrl()">
    </form>

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Во-первых, вместо того, чтобы помещать функцию в «onclick» в кнопке, я предлагаю поместить ее в обработчик «onsubmit» элемента формы.Таким образом, простая клавиша «Ввод» также может вызвать навигацию.

Во-вторых, поскольку мы помещаем обратный вызов в форму, действие формы должно быть изменено на «javascript», например:

<form style="padding-top 20px;" action="javascript://#" onsubmit="newUrl(this.elements['url'].value)">
    URL: <input type="text" name="url">
    <input type="submit" value="GO!">
</form>

Я поместил URL в первыйпараметр функции "newUrl", для простоты написания.

Наконец, ваша функция "newUrl":

function newUrl(url) {
    window.location.assign(url);
}
0 голосов
/ 29 ноября 2018

Перед использованием window.location.assign я хотел бы, чтобы вы прочитали это

https://developer.mozilla.org/en-US/docs/Web/API/Location/assign

Метод Location.assign () заставляет окно загружать и отображать документпо указанному URL.

Если назначение не может произойти из-за нарушения безопасности, генерируется исключение DOME типа SECURITY_ERROR.Это происходит, если источник сценария, вызывающего метод, отличается от источника страницы, первоначально описанной объектом Location, в основном, когда сценарий размещен в другом домене.

Если указанный URL-адрес недействителен, исключение DOME типа SYNTAX_ERROR.

Вот что вы можете сделать, чтобы использовать его

function newUrl(){
  window.location.assign(document.getElementById("url").value);
}
 <form style="padding-top: 20px;">
        URL: <input type="url" name="url" id="url">
        <input type="button" value="GO!" onclick="newUrl()">
    </form>
...