Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.09.2009, 10:03
Новичок на форуме
Отправить личное сообщение для lelik Посмотреть профиль Найти все сообщения от lelik
 
Регистрация: 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] для оформления кода в сообщениях
Ответить с цитированием
  #2 (permalink)  
Старый 10.09.2009, 16:57
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 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>
Ответить с цитированием
  #3 (permalink)  
Старый 11.09.2009, 08:03
Новичок на форуме
Отправить личное сообщение для lelik Посмотреть профиль Найти все сообщения от lelik
 
Регистрация: 10.09.2009
Сообщений: 4

Не выходит, открывает новое окно заданных размеров, но передает туда файл с формой (test.php)
Ответить с цитированием
  #4 (permalink)  
Старый 11.09.2009, 13:34
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

таргет правильный устанавливаете?
Ответить с цитированием
  #5 (permalink)  
Старый 14.09.2009, 06:40
Новичок на форуме
Отправить личное сообщение для lelik Посмотреть профиль Найти все сообщения от lelik
 
Регистрация: 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 в новом окне, но не передает параметры из формы.
Ответить с цитированием
  #6 (permalink)  
Старый 14.09.2009, 15:31
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 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>
Ответить с цитированием
  #7 (permalink)  
Старый 17.09.2009, 20:10
Новичок на форуме
Отправить личное сообщение для lelik Посмотреть профиль Найти все сообщения от lelik
 
Регистрация: 10.09.2009
Сообщений: 4

Открывает новое окно, параметры из формы по прежнему передовать не хочет. В общем надоело ковыряться, сделал target = "_blank".

e1f, спасибо за помощь!
Ответить с цитированием
  #8 (permalink)  
Старый 19.08.2010, 18:42
Профессор
Отправить личное сообщение для greenwar Посмотреть профиль Найти все сообщения от greenwar
 
Регистрация: 19.08.2010
Сообщений: 150

можно же заранее создать окно с параметрами и дать ему имя, а потом в таргете его указать?
Ответить с цитированием
  #9 (permalink)  
Старый 20.08.2010, 09:04
Аспирант
Отправить личное сообщение для morg4n Посмотреть профиль Найти все сообщения от morg4n
 
Регистрация: 02.08.2010
Сообщений: 46

там, где вы указываете URL открывающейся страницы, добавьте следующий код
+'?parametr1=' + document.getElementById('input1').value + '&parametr2=' + document.getElementById('input2').value
идея понятна?
Ответить с цитированием
  #10 (permalink)  
Старый 20.08.2010, 09:51
Профессор
Отправить личное сообщение для greenwar Посмотреть профиль Найти все сообщения от greenwar
 
Регистрация: 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.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открыть ссылку в новом окне Asdvin Элементы интерфейса 4 08.06.2011 18:58
Как переместить результат работы скрипта? Vlaimir Events/DOM/Window 2 31.08.2009 13:52
Обработка данных из формы в новом окошке diktator Events/DOM/Window 1 20.10.2008 12:51
Открытие рисунка в новом окне Anatom Элементы интерфейса 3 18.03.2008 16:49