У меня есть текстовое поле и кнопка на моей веб-странице ASP. Я использую JavaScript для проверки триггера как из текстового поля, так и из кнопки. Как только проверка правильна, я пытаюсь перенаправить пользователя на другую страницу.Location.href просто перезагружает текущую страницу
Вот мой код:
HTML
<input style="background: url(images/find.png) no-repeat; padding-left:20px;"type="text" id="txtSearch" onkeyup="validChar(this);" onkeypress="checkKey(event)" name="txtSearch" />
<button class="locButton" id="btnsave" onclick="fncsave(event)">Search</button>
JS
<script type="text/javascript">
function validChar(e) {
e.value = e.value.replace(/[^a-zA-Z0-9]/g, '');
e.style.border = "2px inset #EBE9ED";
}
function fncsave(e) {
//alert('test');
var t = window.document.getElementById('txtSearch');
if (t.value.length > 0) {
alert(t.value);
redirectPage(t.value);
//document.cookie = 'postbackcookie=';
//document.location.href = "www.mydomain.com/search.aspx?search_results.aspx?searchtext=" + t.value + "&folderid=0&searchfor=all&orderby=title&orderdirection=ascending";
//return false;
} else {
e.preventDefault();
t.style.border = "2px inset #CC0000";
alert("Search Query is Blank...");
}
}
function checkKey(e) {
var t = window.document.getElementById('txtSearch');
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) { //Enter keycode
if (t.value.length > 0) {
alert('enter press and ' + t.value);
document.cookie = 'postbackcookie=';
document.location.href = "www.mydomain.com/search.aspx?searchtext=" + t.value + "&folderid=0&searchfor=all&orderby=title&orderdirection=ascending";
return false;
} else {
e.preventDefault();
t.style.border = "2px inset #CC0000";
alert('enter press and 0');
}
}
}
function redirectPage(val) {
document.cookie = 'postbackcookie=';
document.location.href = "www.mydomain.com/search.aspx?search_results.aspx?searchtext=" + val + "&folderid=0&searchfor=all&orderby=title&orderdirection=ascending";
return false;
}
</script>
при нажатии кнопки обновления страницы и вместо того, чтобы идти к тому, что происходит, страница search_results
, она просто перезагружается. Должен ли я использовать форму?
По умолчанию на странице aspx есть страница <form id="form1" runat="server"></form>
, но я стараюсь избегать использования ее на сервере.
я ушел из части кода. Весь код: 'www.mydomain.com/search.aspx? Blah & blah & blah'. 'window.open (http://www.google.com);' работает без каких-либо проблем ... – Si8
Если я использую этот код: 'window.location.href =" http://www.google.com "; 'Я вижу, что индикатор прогресса на вкладке крутится, а также отображается' google.com', но вместо этого там текущая страница просто обновляется. – Si8
Я не понимаю, как то, что вы написали, связано с проблемой, о которой вы писали. вот jsfiddle: http://jsfiddle.net/bqzh8/ Первый поиск с вашим кодом, второе поле поиска - это версия, которая правильно перемещается – Etai