rootv

Рейтинг
63
Регистрация
08.11.2006

Это да...

Но что делать в ситуации, когда пользователь заполнил некоторую форму, но не "сохранил" ее, а решил уйти со страницы?

Зачем это надо?

Конкретнее:

Ситуация обычная, но не встречал, чтобы кто-то такое делал...

Есть общая база.

Каждый хочет по ней искать, но ленится записывать в нее то, что его интересует.

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

Не хватает только контактных данных.

Соответственно, если бы после поиска при попытке закрыть страницу посетителю предлагали бы ввести контакты для участия в базе, то при его отказе страница бы закрывалась, а при согласии - форма поиска уходила бы в базу, а текущая страница не закрывалась бы, а на ее место загружалась бы форма контактов.

Можно, конечно, обе формы (поиска и контактов) держать на одной странице, но это перегружает страницу лишней (не всегда нужной) информацией...

Можно сохранять форму поиска в файле или еще где-то (она несколько великовата), а при положительном ответе по поводу контактов открывать новое окно с соответствующей формой (мне кажется, что браузеры будут блокировать это как "всплывающее окно" - проверю...)

Может тогда что-нибудь подскажите по самой схеме?

Не могу разобраться... подскажите:

Со страницы А открывается страница В.

На В стоит кнопка

<input type='button' value='назад' onClick='window.opener.focus();'>

Почему-то работает только в хроме (в любой ситуации), в IE (если А - единственная вкладка в браузере)...

Не работает в FF и Опере.

При этом кнопка

<input type='button' value='закрыть родителяскую' onClick='window.opener.close();'>

работает четко во всех браузерах при любом числе вкладок (правда, кроме Оперы...)

Интересует - как правильно передать фокус родительской странице?

rootv добавил 17.10.2011 в 19:47

И еще маленький вопрос -

При открытии нового окна window.open в Опере открывается не отдельное окно, а новая вкладка. Как заставить Оперу открывать именно новое окно?

То, что обработчик

document.getElementById('linkId').onclick

работает - спору нет...

Речь была о методе

document.getElementById('linkId').click()

- имитация клика

И он уже тоже работает для ссылок всегда?

Спасибо за помощь!

Почему бы не вызвать parent.location = "..." из дающего добро обработчика(который грузится в скрытый фрейм)? :)

Работает как часы во всех браузерах...

Подводя черту:

метод click есть только у button, checkbox, radio, reset и submit, а для ссылок работает, но не во всех браузерах...

location "рулит", но, видимо, для уже существующих окон,

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

smart1k:
Что за ананизм? Используйте location.href

Наверное плохо объяснил... (пример был для ясности, на практике немного не так)

Кстати, добрые люди подсказали, что click() просто не является методом ссылки (т.е. иногда является, но не во всех браузерах и версиях... все правильно.)

Почему так пришлось делать:

Требуется переход от страницы к странице при определенном (положительном) ответе сервера...

Поэтому команду должен давать обработчик

Обработчик грузится в невидимый фрейм основной страницы.

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

Другой схемы перезагрузки страницы (или открытия нового окна) при возврате с сервера положительного ответа пока не изобрел... вот и маюсь

LEOnidUKG:
Вы не путайте чистый JS в котором НЕТ такого click(), а есть <a href="#" onclick="JS код">z</a>


А вот в jquery, который подключается отдельно есть $('#Ваш ID').click(function() {alert('Клик!!!.');});
http://api.jquery.com/click/

С jquery - не знаком... выход только в нем?

Вы считаете, что document.getElementById('button').click() нельзя использовать в JS?

т.е. в JS нет средств вставки в обработчик для имитации клика по элементу?

(но в IE и опере, однако, прекрасно работает...)

(стыдно рассказать не программистам, что переходом со страницы на страницу при выполнении определенного условия приходится заниматься сутки, да еще и не сделать!)

rootv добавил 14.10.2011 в 16:54

Payk:
А это к какому элементу на странице?
Попробуй что ли
document.getElementById('perehod').onclick();

это не работает

Итак, если на любой странице разместить

<a href='http://www.a.ru/a.htm' target='_top' name='perehod' id='perehod'>...</a>

<script>document.getElementById('perehod').click();</script>

то при попытке загрузить эту страницу должна срабатывать переадресация...

срабатывает только в IE и Опере

LEOnidUKG:
А откуда вы вообще взяли, что так можно делать и это правильно?

из книжек, практики и сети...

А как надо?

Конкретно у меня

document.getElementById('perehod').click();

срабатывает только в IE и опере

(или это тоже не корректно?)

JavaScript

Здравствуйте!

Настройка Windows Server на вертуальном выделенном - не по вашей части?

Это не просто поиск-фильтр... эксперименты показали, что время работы на php , будет не менее 5сек, но возможно и до 30 сек... (а так - до 1 сек)

Всего: 77