10.09.2009, 10:03
|
Новичок на форуме
|
|
Регистрация: 10.09.2009
Сообщений: 4
|
|
Результат работы формы в новом окне
Здравствуйте, уважаемые. Возможно все просто, но никак не получается разобраться, прошу натолкнуть на мысль.
Задача:
Необходимо по нажатию на кнопку 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']; //используем переменную где нам нужно |
В поле action в форме назначена функция javascript, кт открывает новое окно (newWindow.js) и выдает в окно результат работы test_show_param.php:
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". Но новое окно создается с параметрами по умолчанию. А хотелось бы задать свои атрибуты.
Последний раз редактировалось Octane, 14.09.2009 в 19:09.
Причина: используйте bb-коды [html] и [js] для оформления кода в сообщениях
|
|
10.09.2009, 16:57
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Мб так:
<!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>
|
|
11.09.2009, 08:03
|
Новичок на форуме
|
|
Регистрация: 10.09.2009
Сообщений: 4
|
|
Не выходит, открывает новое окно заданных размеров, но передает туда файл с формой (test.php)
|
|
11.09.2009, 13:34
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
таргет правильный устанавливаете?
|
|
14.09.2009, 06:40
|
Новичок на форуме
|
|
Регистрация: 10.09.2009
Сообщений: 4
|
|
Пробую вот так:
<!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 в новом окне, но не передает параметры из формы.
|
|
14.09.2009, 15:31
|
|
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
А так?
<!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>
|
|
17.09.2009, 20:10
|
Новичок на форуме
|
|
Регистрация: 10.09.2009
Сообщений: 4
|
|
Открывает новое окно, параметры из формы по прежнему передовать не хочет. В общем надоело ковыряться, сделал target = "_blank".
e1f, спасибо за помощь!
|
|
19.08.2010, 18:42
|
Профессор
|
|
Регистрация: 19.08.2010
Сообщений: 150
|
|
можно же заранее создать окно с параметрами и дать ему имя, а потом в таргете его указать?
|
|
20.08.2010, 09:04
|
Аспирант
|
|
Регистрация: 02.08.2010
Сообщений: 46
|
|
там, где вы указываете URL открывающейся страницы, добавьте следующий код
+'?parametr1=' + document.getElementById('input1').value + '¶metr2=' + document.getElementById('input2').value
идея понятна?
|
|
20.08.2010, 09:51
|
Профессор
|
|
Регистрация: 19.08.2010
Сообщений: 150
|
|
короче, делается это так:
<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>
смысл в том, что форма выдаёт результат работы скрипта в окно из таргета, которое открывается/создаётся кнопкой сабмит
Последний раз редактировалось greenwar, 20.08.2010 в 19:55.
|
|
|
|