Добрый день. Уважаемые знатоки, задает вам вопрос новичек. Есть сайтик, но суть в другом вот что хотелось бы понять. Пользователь добавляет обьявление типа название описание и должен выбрать конфигурацию компьютера. все было реальзованно одной страницей. Так вот появились глюки и не совсем это удобно. Было решено сделать выбор отдельных параметров в открывающихся окнах. типа он жмет ссылку "выбрать" открываеться окно и там поля Select а ниже кнопка Ок. Так вот сам вопрос. как организовать что бы при нажатии кнопки ОК окно закрывалось и данные передавались в родительское окно. На взгляд все просто но придеться обновлять окно и конечно ранее введенные данные будут сброшенны.. подскажите выход из этой ситуации.
Ну, один из способов реализации, да не засмеют меня местные гуру. При формировании странички юзер в которой он заполняет основные данные (пускай называется "основной") ты добавляешь запись во временную табличку с со всеми полями которые может выбрать юзер. Делаешь выборку, и заполняешь поля формы странички значениями из этой записи. По нажатию кнопочки "выбор" открывается новое окно, в котором он выбирает то что хочет. На кнопочку ОК вешаешь обработчик JS [js] { window.opener.location.reload(); window.close(); } [/js] И естественно, обработчик поста этой маленькой странички в созданную тобой строку во временной таблице добавляет выбранное ющером значение. Ну а дальше работает скрипт основного окошка, в котором ты: Делаешь выборку, и заполняешь поля формы странички значениями из этой записи....... Ну а пост на основной страничке ты знаешь как обработать. Это один из вариантов, и я не говорю что он будет оптимальным, но он есть скорее всего через window.opener. можно обратиться ко всем полям окна и напрямую их заполнить JS-скриптом, но в JS-я не силен совсем
так это я понял а как мне вернуть данные которые будут выбранны в новом окне в форму на родительском? не перегружая его есть ли способ?
ну так хоть пример дайте. открываеться у меня новое окно выбираю параметра жму ok закрываеться обновляется старое, данные встают а а те что были до этого понулям.
Ты либо делай так как я написал, либо не делай так. Убирай кусок [js]window.opener.location.reload();[/js] Тогда не будет ничего обновляться. если следующий код тебе ничего не скажет - курите мануал [js]window.opener.document.getElementById('inputId').value = document.getElementById('usersChoiceInput').value; window.close();[/js]