Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Метод Post..., Как передать данные формы РОДИТЕЛЬСКОМУ окну и закрыть дочернее?
Greenpeas
Вставить ник
сообщение 5:05:2008, 06:20
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 18
Регистрация: 13:07:2007
Пользователь №: 11 815
Специализация: Программист



Репутация: - 0 +


Здравствуйте Уважаемые!
Такая вот проблема от неграмотности...
На странице есть кнопка "Ответить". При нажатии открывается дочернее окошко с формой ввода. Там есть кнопка "Послать".
Нада что бы при нажатии на данную кнопку, на родительскую страницу передались данные из формы дочерней странички, а сама дочерняя закрылась.
Ниже форма дочерней странички.

Код
echo "<form action=\"messages.php?user=".$_GET['login_to']."\" method=\"post\">";
echo "<textarea name=\"message\" rows=10 cols=40 wrap=\"on\"></textarea><br><br>";
echo "<input type=\"submit\" value=\"Послать\" name=\"button_send_mes\" OnClick=\"window.opener.location.href=href; window.close();\">";
echo "</form>";

Как видно, я пытаюсь сделать OnClick="window.opener.location.href=href; window.close();". Не катит. window.close(); не срабатывает. Передает action формы в себя, а не родительской странице. Как правильно должно выглядеть событие OnClick кнопки "Послать"?
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 6)
Emelya
Вставить ник
сообщение 5:05:2008, 12:36
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 39
Регистрация: 18:10:2006
Пользователь №: 7 222
Специализация: student



Репутация: - 0 +


Прива,
вопрос интересный, ответа не знаю;(
Но , может тебе стоит использовать div и вместо открытия дочернего окна делать его видимым?
Так обычно подсказки делают, но можно и форму сделать.

Сообщение отредактировал Emelya - 5:05:2008, 17:09
Подняться вверх 
 
Сообщение #2
Vovochka
Вставить ник
сообщение 5:05:2008, 22:23
Цитата Ответить 


Продвинутый
**

Группа: Программист
Сообщений: 198
Регистрация: 4:08:2006
Из: Vladivostok.pm
Пользователь №: 5 749
Специализация: Perl, Web



Репутация: - 4 +


А заполнить скрытую форму в родительском окне и отправить ее?
GETом textarea отправлять - вообще говоря, плохое дело.
Да и вообще не особо понятно, чего вы хотели этим (window.opener.location.href=href) добиться.
Подняться вверх 
 
Сообщение #3
Greenpeas
Вставить ник
сообщение 6:05:2008, 11:51
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 18
Регистрация: 13:07:2007
Пользователь №: 11 815
Специализация: Программист



Репутация: - 0 +


Короче я сделал так:
открываю дочернее окошко с формой. Заполняю форму данными и отправляю эти данные на страничку, которая загружается в это же окошко. На этой страничке происходят все необходимые действия (я про php скрипты)... после чего возвращаю этому окошку
Код
echo "<script>window.opener.location.href='rp.php?dis_id=".$dis_id."';window.close();</script>";

т.е. я перезагружаю родителя и закрываю окошко. Родитель уже имеет вид в соответствии с введёнными данными... и всё... Так я вышел из тупика... Хотя думаю, что можно было бы из окошка передать все данные родителю, и что бы родитель уже всё сделал...

Цитата(Vovochka @ 6:05:2008 - 01:23) *
GETом textarea отправлять - вообще говоря, плохое дело.

POSTом, а не GETом... А как ты передаешь из textarea???? laugh.gif

Сообщение отредактировал Greenpeas - 6:05:2008, 11:48
Подняться вверх 
 
Сообщение #4
Emelya
Вставить ник
сообщение 6:05:2008, 17:14
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 39
Регистрация: 18:10:2006
Пользователь №: 7 222
Специализация: student



Репутация: - 0 +


Прикольно,
а если дать textarea какой-нить id='ta', и потом OnClick="window.opener.location.href=rp.php?dis_id='"+document.getElementById("ta").value+"';window.close();"?

Или проще сделать глобальные javascript переменные и сетметод. Судя по описанию opener может их вызывать.
Типа в родительском окне:
Код
<script language="JavaScript" src="basic.js" type="text/javascript"></script>

В javascript basic.js:
Код
var a;
function setA( TempA ){
a=tempA;
}

И в дочернем окне
Код
onclick="opener.setA(document.getElementById("ta").value);opener.close;";

Вроде так должно работать.

Сообщение отредактировал Emelya - 6:05:2008, 17:26
Подняться вверх 
 
Сообщение #5
Vovochka
Вставить ник
сообщение 6:05:2008, 22:33
Цитата Ответить 


Продвинутый
**

Группа: Программист
Сообщений: 198
Регистрация: 4:08:2006
Из: Vladivostok.pm
Пользователь №: 5 749
Специализация: Perl, Web



Репутация: - 4 +


Цитата(Greenpeas @ 6:05:2008 - 21:51) *
А как ты передаешь из textarea???? laugh.gif

ПОСТом, ПОСТом передаю wink.gif
Подняться вверх 
 
Сообщение #6
Greenpeas
Вставить ник
сообщение 7:05:2008, 06:43
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 18
Регистрация: 13:07:2007
Пользователь №: 11 815
Специализация: Программист



Репутация: - 0 +


Думаю тут много способов... Я бы и сделал что то на ява-скриптах, если бы не моя лень... Лень изучать ява-скрипт sad.gif
А ведь в универе изучали... Я эти пары прогулял biggrin.gif
Теперь некогда взяться...
Спасибо что отвечали!
Подняться вверх 
 
Сообщение #7


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись
   

 

RSS Текстовая версия Сейчас: 17:05:2008 - 05:51
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net