首页 > 解决方案 > window.location.assign() 导航到用户输入的 url?

问题描述

我需要使用 Javascriptwindow.location.assign()在输入框中从用户那里获取输入,一旦单击按钮,用户将被带到他们在该输入框中输入的 URL——我很难在网上找到这个。我假设我需要在我的脚本中添加一个函数(未显示)。

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

标签: javascriptformsuser-inputassignwindow.location

解决方案


首先,我建议不要将函数放在按钮的“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);
}

推荐阅读