Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не срабатывает .click() в хроме (https://javascript.ru/forum/misc/22308-ne-srabatyvaet-click-v-khrome.html)

rootv 14.10.2011 14:49

Не срабатывает .click() в хроме
 
Не срабатывает getElementById().click() в хроме и FF.
Подскажите, кто сталкивался...

dmitriymar 14.10.2011 15:05

document.getElement.....

rootv 14.10.2011 15:09

В полной форме -
document.getElementById('perehod').click();

... не работает (в IE и опере - нормально)

Kolyaj 14.10.2011 15:14

Это нестандартный IE-шный метод, в Опере работает, т.к. Опера пытается сидеть на двух стульях и повторяет всё за всеми браузерами.

rootv 14.10.2011 15:17

так что за метод стандартный?

Kolyaj 14.10.2011 15:58

Вызвать нужное действие, а не пытаться сделать вид, что пользователь кликает по чему-нибудь.

rootv 14.10.2011 16:36

Цитата:

Сообщение от Kolyaj (Сообщение 131197)
Вызвать нужное действие, а не пытаться сделать вид, что пользователь кликает по чему-нибудь.

Т.е. пусть сам кликает по ссылке?
Не подходит.
Клиент кликает по кнопке отправки данных, а переход должен быть только в случае, если после обработки получен положительный ответ...
Почему же все-таки click(); не работает?
(стыдно рассказать не программистам, что переходом со страницы на страницу при выполнении определенного условия приходится заниматься сутки, да еще и не сделать!)

dmitriymar 14.10.2011 17:10

Цитата:

Сообщение от rootv
Клиент кликает по кнопке отправки данных, а переход должен быть только в случае, если после обработки получен положительный ответ...

а если поддержка скрипта отключена у пользователя? никогда не перейдёт?

Kolyaj 14.10.2011 17:13

Цитата:

Сообщение от rootv
Т.е. пусть сам кликает по ссылке?

Где я такое написал?

Его клик какое-то действие вызывает, просто вызывайте это действие программно.

Greck 14.10.2011 17:20

Цитата:

Клиент кликает по кнопке отправки данных, а переход должен быть только в случае, если после обработки получен положительный ответ...
Клиент кликает по ссылке, вызывается функция check - проверки чего либо, если она возвращает true, человек перейдет по ссылке, если false, то нет, код:
<a href="/somelink" onclick="if (!check()){ return false }">ClickMe</a>

Greck 14.10.2011 17:24

Или где-либо в коде:
if (check()) {
   window.location = 'http://test.ru/somelink'; 
}

И перейдет на соответствующую страницу.

rootv 14.10.2011 18:08

Цитата:

Сообщение от Greck (Сообщение 131209)
Клиент кликает по ссылке, вызывается функция check - проверки чего либо, если она возвращает true, человек перейдет по ссылке, если false, то нет, код:
<a href="/somelink" onclick="if (!check()){ return false }">ClickMe</a>

а как сюда можно вставить ответ с сервера?!

rootv 14.10.2011 18:10

с click прояснилось, в ссылку его не вставить...
Цитата:

метод click есть только у button, checkbox, radio, reset и submit

rootv 14.10.2011 18:16

Цитата:

Сообщение от Kolyaj (Сообщение 131197)
Вызвать нужное действие, а не пытаться сделать вид, что пользователь кликает по чему-нибудь.

Понял...
Вызвать нужное действие - это перейти на другую страницу
Необходимость перехода на другую страницу зависит от ответа сервера...
Поэтому команду должен давать обработчик
Обработчик грузится в невидимый фрейм основной страницы.

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

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

Greck 15.10.2011 16:53

Из ifame:
window.parent.document.location='test.ru';

Greck 15.10.2011 16:59

Цитата:

а как сюда можно вставить ответ с сервера?!
Можно в check() вставить ajax, но страница заморозится. А вообще к чему восклицательный знак? Вы не писали, что у вас загрузка с сервера и тем более iframe, я должен был догадаться?

rootv 17.10.2011 00:40

Спасибо за помощь!
(буду обращаться :) )
Цитата:

Из ifame:
window.parent.document.location='test.ru';
Работает как часы во всех браузерах...
Подводя черту:
метод click есть только у button, checkbox, radio, reset и submit, а для ссылок работает, но не во всех браузерах...
location "рулит", но, видимо, для уже существующих окон,
новое же окно натыкается на настройки браузеров против всплывающих окон (хотя в моем случае это уже не надо, загружаюсь в старое окно)


Часовой пояс GMT +3, время: 06:48.