0

我想制作一个带有用户输入内容的文本字段的表单,然后需要将其合并到指向用户将被重定向到的外部站点的链接中。

所以假设用户输入'foobar'。在他点击提交后,他应该被带到http://example.com/foobar

这最好是在 JS 中,尽管 PHP 也可以。

到目前为止,我有这个:

<html>
<head>
<script type="text/javascript">

function genURL() {
var user = document.getElementById('user');
window.location.href = "http://example.com/" + user;
}

</script>
</head>
<body>

<form>
username: <input type="text" name="user">
<input type="submit" value="Submit" name="user" onClick="genURL()">
</form>

</body>
</html>

唯一要做的就是将 ?user=foobar 附加到 URL。

我需要做什么才能完成这项工作?

4

5 回答 5

1

您应该阻止提交表单。您可以通过使您的函数onsubmit成为表单的处理程序并返回false以防止表单被提交来做到这一点。

此外,您应该使用.valuein获取该字段的内容document.getElementById('').value

JavaScript:

function genURL() {
    var user = document.getElementById("user").value;
    window.location = "http://google.com/" + user;
}​

HTML:

<form onsubmit="genURL(); return false;">
    <input type="text" id="user" />
    <input type="submit" value="Submit" />
</form>​

演示:http: //jsfiddle.net/jhogervorst/CFHtG/

于 2012-04-24T20:05:20.820 回答
0

您想要用户元素的值。

var user = document.getElementById('user').value;
于 2012-04-24T20:01:36.480 回答
0

请尝试以下方法:

function genURL() {
    var user = document.getElementById('user');
    window.location.href = "http://thisisnotarealurl.com/" + user.value;
}
于 2012-04-24T20:02:18.143 回答
0

将表单的操作设置为要调用的 URL 并将表单的方法设置为 GET 不是更容易吗?

然后你会有:

<html>
    <body>
        <form action="http://example.com" method="GET">
            username: <input type="text" name="user">
            <input type="submit" value="Submit" name="user">
        </form>
    </body>
</html>

不需要 JavaScript :)

于 2012-04-24T20:03:21.183 回答
0
function genURL() {
    var user = document.getElementById('user');
    window.location.href = document.URL + user.value;
}
于 2012-04-24T20:05:24.370 回答