2016-12-04 7 views
0

このコードの動作はブラウザによって異なるのはなぜですか?それらのすべてで同じ行動を達成するために私は何を変えるべきですか? Firefoxでは、それは結構です、それは私がinputButtonをクリックすると、それはこのような?をコードしているので、Chromeでそれが失敗したときにIEで、それは何もしない、URL /some/path/?searchedText=sometextを使用しています:/some/path/%3FsearchedText=sometextの代わり/some/path/?searchedText=sometextブラウザに依存しないjavascript

HTML

<input id="inputText" type="text" class="form-control" placeholder="Searched text"> <input id="inputButton" type='button' value='Search' class="btn" onclick="myFunction()"/>

javascriptの

function myFunction() { 
var text = document.getElementById('inputText').value; 
var location = "some/path/?searchedText="; 
window.location.pathname = location + text; 
} 
+0

どのバージョンのIEですか? –

+0

最新バージョン11です。 –

答えて

1

window.location.href

function myFunction() { 
    var text = document.getElementById('inputText').value; 
    var protocol = window.location.protocol; 
    var hostname = window.location.hostname; 
    var url = protocol + '//' + hostname + "/some/path?searchedText=" + text; 
    window.location.href = url; 
} 
0

あなたがプロパティsearchを使用することができます。あなたが明示的に開始(http://www.something.com)ホスト名を渡して回避するための素晴らしい方法ですが、それはまた、パスとしてクエリ文字列を扱いますので、あなたがmanully各URLのコンポーネントを構築することでこれを回避した後、使用することができ、それらをコード化するwindow.location.pathnameを使用している

window.location.search = '?searchedText=' + text; 
関連する問題