0

ユーザーが何かを入力するテキスト フィールドを含むフォームを作成したいのですが、それをユーザーがリダイレクトされる外部サイトへのリンクに組み込む必要があります。

ユーザーが「foobar」と入力するとします。送信をクリックすると、http://example.com/foobarに移動します。

PHPも同様に機能しますが、これはできればJSである必要があります。

これまでのところ、私はこれを持っています:

<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>

これが行う唯一のことは、URL に ?user=foobar を追加することです。

これを機能させるにはどうすればよいですか?

4

5 に答える 5

1

フォームが送信されないようにする必要があります。これを行うには、関数をフォームのハンドラーにし、フォームが送信されないようにonsubmit戻ります。false

.valueさらに、 inを使用してフィールドの内容を取得する必要があります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

次のことを試してください。

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

ユーザー要素の値が必要です。

var user = document.getElementById('user').value;
于 2012-04-24T20:01:36.480 に答える
0
function genURL() {
    var user = document.getElementById('user');
    window.location.href = document.URL + user.value;
}
于 2012-04-24T20:05:24.370 に答える