<form action="java script:void('');" name="fsr" id="fsr">
<img src='images/point.gif' /> Введите слово<br />
<input type="text" onkeydown="if (key(event)==13){seronk();}" id='find21' style="width:150;font:bold 8pt tahoma;border:2px solid #b4b4b4;"><br />
<input type="button" id="ser" value='найти' onclick="self.location='?poisk&find=' + escape(document.getElementById('find21').value);return false;" style="margin:6 0 0 0;background:#b4b4b4;border:2px solid #666666;font:bold 8pt arial;height:20px;color:white;padding:0;" />
</td>
</form>
<script type="text/javascript">
<!--
//alert();
function seronk(){
//alert();
document.location='?poisk&find=' + escape(document.getElementById('find21').value);
}
И еще раз о JS, window.location, и тригерах.
(поиск ничего полезного не выдал)
1 Что лучше всего использовать для перевода броузера на другую страничку, с помощью яваскрипт?
вроде бы слышал что window.location - лучше всего ...
а что тогда до методов
self.location (ну это на сколько я знаю практически тоже самое, токо другой способ обращения к окну)
location.href
window.navigate
2 ГЛАВНЫЙ ВОПРОС
если я использую вызов window.location внутри какой нить фукции, то обновления не происходит, а если внутри тригерра (скажем onclick=''), то все в порядке ... почему так, и как правильно?
3 И еще такая тема.
Есть страничка .... ан них несколько контролов (например 2 текст бокса), к ним привязанны различные триггеры на обработку onkeydown, которые проверяют, если был нажат ентер, то выполнять соответствующий код.
Одно добивает, при нажатии этого энтера на Любом контроле, начинают выполняться ВСЕ ТРИГГРЕРЫ, НА ВСЕХ КОНТРОЛАХ (это в ИЕ, в опере такого нет.)
3. Дай поглазеть на код. Это, кстати, и ко 2 относится.
Код:
здесь есть текстовое поле, и кнопка. типа поиск
надо сделать так чтоб открывалась страничка по нажатию на кнопку и понажатию на ентер в текстовом поле.
Самое паразительное что, такое уже делалось, и все работало .... гдето работает гдето нет .....
кстати пробовал уже п всякому ... и непосредственно в тригере windows.location делать, всеравно переход не происходит
И никаких яваскриптов не нада..
он сам является частью запроса
http://site/?poisk&find=<текст_запроса>
вот на такой адрес надо переадресовать страничку
А форму в корень зарулить. Если в скрипте поиска нет хитрой проверки - должно прокатить.
а ет совсем другая тема
ну вообщето можно намутить много чего, на крайняк, можно научить движок адрес с пределенной переменной читать .... и пр
но вот интересует решение именно перехода именно по указанному адресу .... мало ли где еще понадобится.
вот тут все работает
setTimeout("document.location='?poisk&find=' + escape(document.getElementById('find21').value);",1);
и идет оно все нах ...... :)
Тебе нужно было сделать следующее: на сабмит формы повесить переход и возврат false. Т.о. у тебя будет страница отправляться куда нужно, но сабнита формы не будет.
У меня где-то был пример, щас не могу его найти.
спасбо....
млин, все дело в незаглушенном onsubmit ...... мнлин .......
А если объект не внутри форме .... с дуру начинают выполнятся какието левые тригеры
дада ... дело было имнно в тригере онсабмит, его надобыло заглушить, что я терперь и сделал.
Вывод. Все загонять в формы, любые контролы должны быть внутри формы (ибо может случиться так, что броузер отошлет весь документ как форму, или глюки с триггерами полетят)
ЗАГЛУШАЙТЕ тригер onsubmit='return false;' и action='void("")';
ЕСЛИ не собираетесь использовать их для отправки на сервер.
рабочий пример
http://merlex.jino-net.ru