0

重複の可能性:
パスワード HTML リダイレクト

以下のコードに問題があります。具体的window.location="http://www.google.com"には、正しいパスワードを入力してもリダイレクトできません。

    <div class="buttons">
        <input class="orangebutton" type="submit" value="Continue" onclick="if (document.getElementById('password').value == 'hi') window.location="http://www.google.com" else alert('Wrong Password!');" />
    </div>

更新: これは私が今持っているものです。リダイレクトはまだ機能していません。

        <input class="orangebutton" type="submit" value="Continue" onclick="if (document.getElementById('password').value == 'hello') window.location='http://www.google.com'; else alert('Wrong Password!');" />
4

4 に答える 4

3

二重引用符をエスケープする必要があります。また、次のように、オブジェクトであるプロパティだけでは.hrefなく、文字列であるプロパティを使用することをお勧めします。location

window.location.href='http://www.google.com'

更新:
二重引用符の代わりに単一引用符を使用してください。後者は html 要素のコンテキストでエスケープできないためです。これを見つけてくれた James Beilby に感謝します。

于 2012-10-08T17:03:20.677 に答える
2

詳細がなければ、これが唯一の問題であるかどうかはわかりませんが、二重引用符を次のように使用しています。

window.location="http://www.google.com"

二重引用符を使用して onclick ステートメント全体をカプセル化しているため、代わりに単一引用符を使用する必要があります。

window.location='http://www.google.com'

さらに、キーワード「else」の前にセミコロンが必要です。ハンドラー全体は次のようになります。

onclick="if (document.getElementById('password').value == 'hi') window.location='http://www.google.com'; else alert('Wrong Password!');"
于 2012-10-08T17:03:59.460 に答える
1

あなたのコードには2つのエラーがあります:

1)onclickパラメータの値が含ま"れ、その時点で文字列が終了します。'代わりに (一重引用符)を使用してください。

2)キーワード;の直前にある必要があります。else

だから、最終的にはそうなるはずですwindow.location='http://www.google.com';

于 2012-10-08T17:10:19.417 に答える
0

構文にエラーがあります。"内では使用しないでくださいonclick=""。したがって、次のように置き換えます。

<input class="orangebutton" type="submit" value="Continue"
       onclick="if (document.getElementById('password').value == 'hi') window.location='http://www.google.com' else alert('Wrong Password!');" />
于 2012-10-08T17:03:06.730 に答える