У меня есть текстовое поле и всякий раз, когда пользователь нажимает клавишу, он проверяется, будет ли пользователь нажат ввести. Если нажать клавишу ввода, я хочу добавить всю информацию в текстовое поле и перенести пользователя на другой URL-адрес.Проблема с Javascript с location.href
<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 safe, ему должно понравиться HttpUtility.EncodeUrl в aspx.
бы, OnKeyPress = "JavaScript: checkEnter (событие);" Сделать разницу? –
вы можете предупредить (searchLink) и посмотреть, есть ли у него какие-то странные символы? –
Вам следует избегать использования атрибутов JavaScript в тегах HTML. Вместо этого вы должны программно присоединить четное к узлу. –