Как получить значение формы
Дело состоит вот в чем: есть 2 файла index.php и secure.php, который подключается через iframe к index.php. В теле secure.php при загрузке передаю 2 значения переменных в index.php в поля input. Значения в этих полях появляются, но забрать оттуда их я так и не смог. Пытался вывести значения полей alert-ом и POST-ом, но они значения эти не видят.
////////////index.php <table><tr><td> <form method="post" name="id2"> <input type="text" name="test"> <input type="text" name="test1"> </form> [PHP]<? $log=$_POST["test"]; $passw=@$_POST["test1"]; echo $log; ?>[/PHP] </td></tr></table> ////////////secure.php <? echo "<HTML>\n"; echo "<HEAD>\n"; echo "<TITLE>Добро пожаловать</TITLE>\n"; echo "</HEAD>\n"; echo "<BODY onload=\"parent.document.id2.test.value = log; parent.document.id2.test1.value = passw;\" bgcolor=\"#FFFFFF\">\n"; [JS]<SCRIPT LANGUAGE="JavaScript"> log="<? echo $log; ?>"; passw="<? echo $passw; ?>"; </script>[/JS] echo "</BODY>\n"; echo "</HTML>\n"; ?> |
Leap_Day, что-то не видно как secure.php подключен к index.php... Т.ч. потестить у меня не получится. Но как вариант предложу такое обращение к данным:
parent.document.getElementsByName('test')[0].value parent.document.getElementsByName('test1')[0].value Если вместо name у полей использовать id - обращение будет выглядеть лючше... Не лишне напомнить что кроссдоменные обращения в iframe не доступны... |
Попробовал parent.document.getElementsByName('test')[0].value, то же самое. если в самом поле указывать значение value, тогда его можно получить, а вот если значение присваивать через JS, то не получается...
Вот тестовый файл: <html> <head> </head> <body > <table border = 0 width = 100% height = 100% cellpadding =0 cellspacing = 0> <tr> <td align = center height = 100%> <table border = 0 cellpadding =0 cellspacing = 0 > <tr > <td valign=top> <table border = 0 width = 240px > <tr> <td cellspacing = 0px> <iframe src="secure.php" width="300px" height="200" name='header' target='_parent' frameborder="0" scrolling="no" onload='new_var=window.frames[0].log; alert(new_var)' >Включите поддержку фреймов</iframe> </td> </tr> </table> </td> <td valign=top style=" padding-top :17px;"> <table align=left width=1040px border=0 cellspacing=0 height = 100% style=" padding-left :8px;"> <tr><td> <table> <tr><td> <form method="post" name="id2"> <input type="text" name="test"> <input type="text" name="test1"> </form> <?$log1=$_POST["test"]; $passw1=@$_POST["test1"]; echo $log1;?> </td></tr> </table> </td></tr> </table> </td> </tr> </table> </td></tr></table> </body> </html> |
Что никто не сталкивался что ли с этим?:blink:
|
Цитата:
|
Если не так, то либо не получается, либо я не знаю этого способа...
echo "<BODY onload=\"parent.document.id2.test.value = log; parent.document.id2.test1.value = passw;\" bgcolor=\"#FFFFFF\">\n"; <SCRIPT LANGUAGE="JavaScript"> log="<? echo $log; ?>"; passw="<? echo $passw; ?>"; </script> |
Leap_Day, опять какие-то огрызки... :( Может таки будет нормальный тестовый пример который можно будет скопировать и посмотреть у себя?
|
Часовой пояс GMT +3, время: 08:25. |