0
私は以下のスクリプトを持っています。ユーザーが投稿をクリックすると、ユーザーを同じページにリダイレクトし、URLからパラメータ値を入力ボックスに入力します。残念ながら、リダイレクトが完了しても、それらは入力されません。また、FilterMultiValueパラメータから*
を取り除いて、テキストボックスに元の値が入力されるようにする必要がありますか?javascriptを使用してurlパラメータからtexbox値を入力しますか?
アラート機能を使用してパラメータ値を確認しても問題ありませんか?
<script type="text/javascript">
function getUrlParams() {
var paramMap = {};
if (location.search.length == 0) {
return paramMap;
}
var parts = location.search.substring(1).split("&");
for (var i = 0; i < parts.length; i ++) {
var component = parts[i].split("=");
paramMap [decodeURIComponent(component[0])] = decodeURIComponent(component[1]);
}
return paramMap;
}
function RedirectUrl() {
var tb = document.getElementById("tbSearch").value;
var cs = document.getElementById("sfield").value;
var url = "";
if (tb != "") {
url = "FilterName=" + cs + "&FilterMultiValue=*" + tb + "*";
window.location.href = "mypage.aspx?" + url;
var params = getUrlParams();
alert(params.FilterName);
document.getElementById("sfield").value = params.FilterName;
document.getElementById('tbSearch').value = params.FilterMultiValue;
}
else {
return false;
}
}
function ClearUrl() {
window.location.href = "mypage.aspx";
document.getElementById("sfield").value = "";
document.getElementById('tbSearch').value = "";
}
</script>
Search Field:
<select id="sfield">
<option selected value="Title" >Title</option>
<option value="Body">Body</option>
</select>
Search Text:
<input type="text" id="tbSearch" />
<input type="button" id="btnSearch" value="Search" onclick="return RedirectUrl();" />
<input type="button" id="btnClear" value="Clear" onclick="return ClearUrl();" />
addEventListenerはIE10で動作していないようですか? – adam78
他のオンロードイベントがない場合は、代わりにwindow.onload = function(){...}を使用できます。しかし、複数のソースからのJavascriptコードを持つページでは安全ですので、私はaddEventListenerを好んでいます。 (複数のwindow.onload = function()は互いに上書きします)。 – Danmoreng
問題に関するクイックGoogle検索:http://stackoverflow.com/questions/6927637/addeventlistener-in-internet-explorer – Danmoreng