テキストボックスがあり、ユーザーがキーを押すたびに、ユーザーがEnterキーを押したかどうかがチェックされます。Enterキーが押された場合、テキストボックスにすべての情報を追加し、ユーザーを別のURLに転送したい.
<script language="javascript" type="text/javascript">
function checkEnter(e){ //e is event object passed from function invocation
var characterCode;
if(e && e.which){ //if which property of event object is supported (NN4)
e = e;
characterCode = e.which; //character code is contained in NN4's which property
}
else{
e = event;
characterCode = e.keyCode; //character code is contained in IE's keyCode property
}
if (characterCode == 13) { //if generated character code is equal to ascii 13 (if enter key)
var searchLink = '/Search/?Keywords=' + document.getElementById('<%= searchBox.ClientID %>').value;
transferUser(searchLink);
return false;
}
else{
return true;
}
}
function transferUser(url) {
window.location.href = url;
window.location.replace(url);
}
</script>
Search: <input name="ctl00$searchBox" type="text" id="ctl00_searchBox" class="header_line_search_box_textbox" onKeyPress="checkEnter(event);" />
考えられるすべての組み合わせを試しましたが、何も起こりません。サイトが更新されるだけです。
また、テキストをユーザーから安全な html に変換する必要もあり、aspx の HttpUtility.EncodeUrl のようにする必要があります。