Результат работы формы в новом окне
Здравствуйте, уважаемые. Возможно все просто, но никак не получается разобраться, прошу натолкнуть на мысль.
Задача: Необходимо по нажатию на кнопку Submit формы открыть новое окно заданных размеров и передать в это окно результат работы php-сценария обработки формы. Как решаю: Есть php-сценарий, кт. содержит простую форму (test.php): <form class="gto_form" action= "javascript:newWindow('test_show_param.php');" method="POST" > <table cellpadding="0" cellspacing="0" border="0"> <tr> <th>№ Борта</th> <th>Марка</th> <th>Отметить</th> </tr> <? while ($row = mssql_fetch_array($res_gto)) { echo "<tr> <td>$row[$ID]</td> <td>$row[$Name_M]</td>"; <td><input type = 'checkbox' name = 'bort[$row[$ID]]' ></td>"; } ?> </table> <input class="submit_btn" name='submit_btn' type='submit' value='Отправить' > </form> Имеем php-сценарий для обработки данной формы(test_show_param.php): Код:
$bort = $_POST['bort']; //используем переменную где нам нужно function newWindow (actionURL) { var win = window.open(actionURL, '', 'top=100,left=100,scrollbars=1,width=300,height=200'); win.focus(); } Я понимаю, что в таком варианте параметры из формы не передаются в test_show_param.php и в новом окне пусто. Вариант дописать параметры в javascript'е в адресную строку (GET) не подходит, т.к. данных достаточно много. Занести данные в переменную сессии тоже не получается, поскольку форма ещё не обработана. Подскажите как поступить в этой ситуации. P.S. Смотрел в поиске, нашел схожую тему - предлагают прописать в форме target = "_blank". Но новое окно создается с параметрами по умолчанию. А хотелось бы задать свои атрибуты. |
Мб так:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Без имени</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta name="generator" content="Geany 0.17" /> </head> <style type="text/css"></style> <script type="text/javascript"> <!-- function _submit() { window.open('','new_win','width=400,height=200,location=no,toolbar=no,menubar=no,status=no,scrollbars=yes,resizable=yes'); } //--> </script> <body> <form action="" onsubmit="_submit()" target="new_win"><input type="submit" /></form> </body> </html> |
Не выходит, открывает новое окно заданных размеров, но передает туда файл с формой (test.php)
|
таргет правильный устанавливаете?
|
Пробую вот так:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Без имени</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </head> <script type="text/javascript"> <!-- function _submit() { window.open('test_show.php','new_win','width=400,height=200,location=no,toolbar=no,menubar=no,status=no,scrollbars=yes,resizable=yes'); } //--> </script> <body> <form action= "" onsubmit="_submit()" target = "test_show.php" method="POST" ></form> </body> </html> Открывает файл test_show.php в новом окне, но не передает параметры из формы. |
А так?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Без имени</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </head> <script type="text/javascript"> <!-- function _submit() { window.open('','new_win','width=400,height=200,location=no,toolbar=no,menubar=no,status=no,scrollbars=yes,resizable=yes'); } //--> </script> <body> <form action= "" onsubmit="_submit()" target = "new_win" method="POST" ></form> </body> </html> |
Открывает новое окно, параметры из формы по прежнему передовать не хочет. В общем надоело ковыряться, сделал target = "_blank".
e1f, спасибо за помощь! |
можно же заранее создать окно с параметрами и дать ему имя, а потом в таргете его указать?
|
там, где вы указываете URL открывающейся страницы, добавьте следующий код
+'?parametr1=' + document.getElementById('input1').value + '¶metr2=' + document.getElementById('input2').value идея понятна? |
короче, делается это так:
<script type="text/javascript"> function openformwindow(){ window.open('','formwindow','width=400,height=200, location=no,toolbar=no,menubar=no,status=no,scroll bars=yes,resizable=yes'); } </script> <form ... target="formwindow"> <input type=submit ... onclick="openformwindow()"> </form> смысл в том, что форма выдаёт результат работы скрипта в окно из таргета, которое открывается/создаётся кнопкой сабмит |
Часовой пояс GMT +3, время: 22:59. |