Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ HTML, CSS, XML, JavaScript _ Метод Post...

Автор: Greenpeas 5:05:2008, 06:20

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

Код
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 кнопки "Послать"?

Автор: Emelya 5:05:2008, 12:36

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

Автор: Vovochka 5:05:2008, 22:23

А заполнить скрытую форму в родительском окне и отправить ее?
GETом textarea отправлять - вообще говоря, плохое дело.
Да и вообще не особо понятно, чего вы хотели этим (window.opener.location.href=href) добиться.

Автор: Greenpeas 6:05:2008, 11:51

Короче я сделал так:
открываю дочернее окошко с формой. Заполняю форму данными и отправляю эти данные на страничку, которая загружается в это же окошко. На этой страничке происходят все необходимые действия (я про 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

Автор: Emelya 6:05:2008, 17:14

Прикольно,
а если дать 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;";

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

Автор: Vovochka 6:05:2008, 22:33

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

ПОСТом, ПОСТом передаю wink.gif

Автор: Greenpeas 7:05:2008, 06:43

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

Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)