1

私は単純なテキストボックスを持っており、何かを入力するとそのページをリダイレクトしたいと思っています。私は、このテキストボックスにEnterキーを押したときにJavaScriptがテキストボックスにキーリダイレクトを入力する

<input type="text" onkeydown="window.open('http://www.example.com', '_self');" /> 

はしかし、それは新しいページに移動しません。しかし、私はA、B、1、2のようなキーを押すとします...これはChrome、Firefox、IE9で私にとってはIE8ではなく発生します。

しかし、私はalert機能をそれに入れても、Enterキーを押すと、アラートボックスを閉じた後、正常にリダイレクトされます。

<input type="text" onkeydown="alert();window.open('http://www.example.com', '_self');" /> 

すべてのブラウザで機能します。

誰でもこのブラウザの動作を説明できますか?

答えて

0

window.location.hrefを使ってみてください。リダイレクトでうまくいくはずです。

例:

<input type="text" onkeyup="window.location.href = 'http://www.example.com';" /> 

また、keyUpイベントにそれを使用することは、より良い選択肢です。

+0

ありがとうございました。しかし、それがなぜ起こるかについてもっと知りたい。 – bxx

1

return falseを設定していないためです。 あなたのコード内でこのようにしてみてください:

<input type="text" onkeydown="navigate();" /> 

これが役立つことを願っています:HTMLで

function navigate() 
{ 
    window.location.href = 'http://www.google.com'; 
    window.event.returnValue=false; 
} 

を次のように使用します。
の代わりに を使用すると、リダイレクトにはmuzzafarと記載されているようにwindow.location.hrefを使用します。

+0

IE10でこの問題が解決しました。具体的には、行window.event.returnValue = false; – phil

関連する問題