Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

И еще раз о JS, window.location, и тригерах.

6.0K
04 сентября 2007 года
merlex
78 / / 25.02.2006
Зарание извиняюсь, за такие вопросы

(поиск ничего полезного не выдал)

1 Что лучше всего использовать для перевода броузера на другую страничку, с помощью яваскрипт?
вроде бы слышал что window.location - лучше всего ...
а что тогда до методов

self.location (ну это на сколько я знаю практически тоже самое, токо другой способ обращения к окну)
location.href
window.navigate

2 ГЛАВНЫЙ ВОПРОС

если я использую вызов window.location внутри какой нить фукции, то обновления не происходит, а если внутри тригерра (скажем onclick=''), то все в порядке ... почему так, и как правильно?

3 И еще такая тема.

Есть страничка .... ан них несколько контролов (например 2 текст бокса), к ним привязанны различные триггеры на обработку onkeydown, которые проверяют, если был нажат ентер, то выполнять соответствующий код.

Одно добивает, при нажатии этого энтера на Любом контроле, начинают выполняться ВСЕ ТРИГГРЕРЫ, НА ВСЕХ КОНТРОЛАХ (это в ИЕ, в опере такого нет.)
18K
04 сентября 2007 года
gnumus
52 / / 28.07.2007
2. А ты вообще где-нибудь в коде вызываешь функцию, которая делает переход? Т.е. мало просто описать ф-ю. Её ещё де-то вызвать нужно.
3. Дай поглазеть на код. Это, кстати, и ко 2 относится.
6.0K
04 сентября 2007 года
merlex
78 / / 25.02.2006
ну естественно вызываю ...... ак акже .... из тригерра и вызываю

Код:
<form action="java script:void('');" name="fsr" id="fsr">
<img src='images/point.gif' /> Введите слово<br />
<input type="text" &#111;&#110;keydown="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='найти' &#111;&#110;click="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);

}


здесь есть текстовое поле, и кнопка. типа поиск
надо сделать так чтоб открывалась страничка по нажатию на кнопку и понажатию на ентер в текстовом поле.

Самое паразительное что, такое уже делалось, и все работало .... гдето работает гдето нет .....
6.0K
04 сентября 2007 года
merlex
78 / / 25.02.2006
кстати пробовал уже п всякому ... и непосредственно в тригере windows.location делать, всеравно переход не происходит
18K
04 сентября 2007 года
gnumus
52 / / 28.07.2007
Э... А зачем такой изврат? Сделать форме метод "гет", инпуту дать имя "find" и отправить его на скрипт poisk.
И никаких яваскриптов не нада..
6.0K
04 сентября 2007 года
merlex
78 / / 25.02.2006
нельзя .... poisk это не скрипт
он сам является частью запроса

http://site/?poisk&find=<текст_запроса>

вот на такой адрес надо переадресовать страничку
18K
04 сентября 2007 года
gnumus
52 / / 28.07.2007
Попробуй тогда добавить хидден поле с именем poisk с пустым value
А форму в корень зарулить. Если в скрипте поиска нет хитрой проверки - должно прокатить.
6.0K
04 сентября 2007 года
merlex
78 / / 25.02.2006
тогда получится ?poisk=&find=dfsf

а ет совсем другая тема

ну вообщето можно намутить много чего, на крайняк, можно научить движок адрес с пределенной переменной читать .... и пр

но вот интересует решение именно перехода именно по указанному адресу .... мало ли где еще понадобится.
6.0K
04 сентября 2007 года
merlex
78 / / 25.02.2006
вот тут все работает

http://ufcir.ru

но не работает у меня на другом проекте .....
6.0K
04 сентября 2007 года
merlex
78 / / 25.02.2006
короче я всех обманул :) , просто делаем так

setTimeout("document.location='?poisk&find=' + escape(document.getElementById('find21').value);",1);

и идет оно все нах ...... :)
18K
04 сентября 2007 года
gnumus
52 / / 28.07.2007
Смысл в чём. event работает только в ИЕ.
Тебе нужно было сделать следующее: на сабмит формы повесить переход и возврат false. Т.о. у тебя будет страница отправляться куда нужно, но сабнита формы не будет.
У меня где-то был пример, щас не могу его найти.
6.0K
04 сентября 2007 года
merlex
78 / / 25.02.2006
gnumus

спасбо....

млин, все дело в незаглушенном onsubmit ...... мнлин .......

А если объект не внутри форме .... с дуру начинают выполнятся какието левые тригеры
6.0K
05 сентября 2007 года
merlex
78 / / 25.02.2006
gnumus ... все спасибо огромное ... все работает выручил...

дада ... дело было имнно в тригере онсабмит, его надобыло заглушить, что я терперь и сделал.

Вывод. Все загонять в формы, любые контролы должны быть внутри формы (ибо может случиться так, что броузер отошлет весь документ как форму, или глюки с триггерами полетят)

ЗАГЛУШАЙТЕ тригер onsubmit='return false;' и action='void("")';
ЕСЛИ не собираетесь использовать их для отправки на сервер.

рабочий пример
http://merlex.jino-net.ru
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог