Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание окна, обработка, возврат результата. 
:(
    Опции темы
Rooner
Дата 21.8.2011, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.8.2011

Репутация: нет
Всего: нет



Привет.
Есть страница material.php с кнопкой/ссылкой. Мне нужно сделать так, чтобы по нажатию по кнопке/ссылке открывалось новое окно, с формой, где пользователь может проставить галочки и нажать на кнопку "сохранить". После чего новое окно должно закрыться и все что выбрал пользователь, передалось обратно на material.php
Окно с формой я создал, но как мне передать из него данные обратно в material.php? Мб через сессию? Мб использовать уже готовые решения, надстройки? Посоветуйте, как лучше?
Вот мой код:
Код

<?php
  // чтобы работало нужно убрать все пробелы между тэгами, иначе джаваскрипт не выполняется
  $text = "<form method='post' action='http://a-vantage/test2.php'>
  <input type='checkbox' name='model1' id='model1' value='1' /><br>
  <input type='checkbox' name='model2' id='model2' value='2' /><br>
  <input type='submit' name='join' value='submit'/>
  </form>";
?>

<html>
<head>

</head>
<body>

<form>
  <input type=button value="On-the-fly" onClick="openWin()">
</form>

</body>
</html>

<script language="JavaScript">
function openWin() {
  myWin= open("", "displayWindow", "width=800,height=600,status=yes,toolbar=yes,menubar=yes");

  // открыть объект document для последующей печати 
  myWin.document.open();
  
  // генерировать новый документ 
  myWin.document.write("<html><head><title>On-the-fly</title></head>");
  myWin.document.write("<body>");
  myWin.document.write("<? echo $text; ?>");
  myWin.document.write("</body></html>");

  // закрыть документ - (но не окно!)
  myWin.document.close();
  
}
</script>



Чтобы было понятней вот скрин, как это реализовано в joomle:
(там нажимаем параметры, открывается окно, выбираем, сохраняем)
user posted image
PM MAIL   Вверх
нуп
Дата 22.8.2011, 12:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 12
Всего: 33



Повесить на кнопку функцию, которая собирает нужные данные и отправляет их куда надо  smile 
PM MAIL   Вверх
Rooner
Дата 22.8.2011, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.8.2011

Репутация: нет
Всего: нет



Цитата(нуп @ 22.8.2011,  12:35)
Повесить на кнопку функцию, которая собирает нужные данные и отправляет их куда надо  smile

А можно на примере? smile 

Нашел http://particletree.com/features/lightbox-gone-wild/ но опять же не пойму как добраться до данных на форме после того как юзер нажал на кнопку?
PM MAIL   Вверх
нуп
Дата 22.8.2011, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 12
Всего: 33



Вам надо передать данные на сервер, или в главное окно? Если на сервер создаете форму, заполняете, делаете сабмит формы, и закрываете окно. В чем именно проблемы?! 
PM MAIL   Вверх
Rooner
Дата 22.8.2011, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.8.2011

Репутация: нет
Всего: нет



Цитата(нуп @ 22.8.2011,  16:59)
Вам надо передать данные на сервер, или в главное окно? Если на сервер создаете форму, заполняете, делаете сабмит формы, и закрываете окно. В чем именно проблемы?!

Мне нужно передать данные обратно в главное окно, после того как юзер нажал кнопку на форме в новом окне. После нажатия на кнопке куда деваются все данные из формы, как их например записать в переменную, или запихать в текстовое поле?
PM MAIL   Вверх
нуп
Дата 22.8.2011, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 12
Всего: 33



Дочернее окно
Код

<input type="text" id="test" value="111" />
<input type="text" id="test2" value="222" />


Код

var test = document.getElementById('test').value;
var test2 = document.getElementById('test2').value;

if(window.opener) {
     window.opener.document.getElementById('my_textarea').value = test + test2;
}

Можно передать через window.opener

PM MAIL   Вверх
Rooner
Дата 22.8.2011, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.8.2011

Репутация: нет
Всего: нет



нуп, спасибо за помощь.
Я сделал несколько по-другому.
по нажатию по кнопке на дочернем окне:
Код

<input type="button" onclick="give()" value="give"/>

вызывается функция которая записывает значение текстового поля(на дочернем окне) в текстовую область(на главном окне):
Код

  <script language="JavaScript"> 
    function give() {
      document.getElementById('my_textarea').value = document.getElementById('name').value;
    }
  </script>

Все это с использованием надстройки Lightbox Gone Wild, довольно удобно.

Осталось только понять в какой элемент формы лучше записать дынные о множестве отмеченных checkbox'ах? Т.е. я хочу передать отмеченные флажки на форме в дочернем окне, в элемент формы на главном окне.
PM MAIL   Вверх
нуп
Дата 22.8.2011, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 12
Всего: 33



Отослать данные не в главное окно, а на сервер. И после этого обновить грид
PM MAIL   Вверх
Rooner
Дата 22.8.2011, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.8.2011

Репутация: нет
Всего: нет



Цитата(нуп @ 22.8.2011,  19:31)
Отослать данные не в главное окно, а на сервер. И после этого обновить грид

Что такое грид? Страница?
Если я отошлю данные на сервер и обновлю страницу, то данные внесенные в форму на главной странице потеряются либо отправятся сразу, что мне не нужно.
Т.е. у меня на главной странице есть форма с основной кнопкой, которая добавляет в БД все введенные данные. Также на главной есть кнопка создающая новое окно с новой формой, в которой юзер отмечает checkbox'ы и какбы сохраняет свой выбор куда-либо(в элемент на главной форме), закрывая новое окно. После чего жмет основную кнопку на главной форме в главном окне и данные сохраняются в БД.
Мб данные об отмеченных checkbox'ах из нового окна сохранять в текстовую область в главном окне в виде строки? Хотя это не совсем удобно...

Кстати данные об отмеченных checkbox'ах скорее всего будут просто в виде строки чисел "101, 103, 211, 217". В какой элемент формы такую строку проще запихнуть, чтобы было удобнее с ней работать/изменять?

Это сообщение отредактировал(а) Rooner - 22.8.2011, 20:46
PM MAIL   Вверх
нуп
Дата 22.8.2011, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 12
Всего: 33



Тогда тупо собрать данные из checbox и добавить на форму в главном окне как скрытые поля. <input type="hidden" name="param1" value="666" />...
PM MAIL   Вверх
Rooner
Дата 22.8.2011, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.8.2011

Репутация: нет
Всего: нет



Цитата(нуп @ 22.8.2011,  21:16)
Тогда тупо собрать данные из checbox и добавить на форму в главном окне как скрытые поля. <input type="hidden" name="param1" value="666" />...

Checkbox'ов может быть тысяча. Попробую все отмеченные собрать в строку и запихать в текстовое поле, или мб даже в 1 скрытое, вобщем спасибо, теперь думаю получится реализовать то что задумал.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0518 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.