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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка формы > Submit открывает... Submit открывает динамическое окно 
:(
    Опции темы
IZ@TOP
  Дата 16.4.2003, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Цитата
что-то типа этого:
1. открываешь новое окно
2. с помощью DHTML обращаешься к свойствам предыдущего окна
3. смотришь что было выбрано
4. а дальше делаешь что тебе нужно

вроде должно проканать


Что - то вроде:
Код


<script language=javascript>
function openwin() {
var data = "data";
data = document.form1.text1.value;
window.open("index.htm?data="+data);
}
</script>

<form name="form1" action=index.htm method=get>
<input type='text' name="text1">
<input type=button value="  go   " onClick="javascript:openwin();">


Может что то в этом роде ?

Это сообщение отредактировал(а) Iz@top - 16.4.2003, 16:32


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Apostolakis
Дата 17.4.2003, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Iz@top. Спасибо. Будет время - проверю на себе smile.gif
PM MAIL   Вверх
Foxx
Дата 17.4.2003, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 19.3.2003
Где: Новосибирск

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



Цитата
Может что то в этом роде ?

может быть smile.gif
я этот код еще в глаза не видел....
PM MAIL ICQ   Вверх
IZ@TOP
Дата 17.4.2003, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Цитата
я этот код еще в глаза не видел....

Ну я так подумал что можно это все через url передать ... так вот оно самое и получается !


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Ivushka
Дата 29.12.2005, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 28.10.2005
Где: Москва

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



Народ а если нельзя через url??? что тогда????
Знаю тема старая но очень нужно...
помогите плииииииииииизззззззззззззззз smile
--------------------
Программист - это диагноз!
PM MAIL ICQ   Вверх
Sardar
Дата 29.12.2005, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Ivushka ты уже создала подобную тему, никто не понял что тебе конкретно нужно и почему ты не хочешь составить форму, заполнить её hidden полями и отослать методом POST на сервер, при этом никаких ограничений на размер нет. Попробуй в новом топе просто и ясно описать проблему + обязательно скинуть часть вёрстки, я помню ты таблицу отослать хотела, так вод форма и пара строк таблицы интересуют. Научишся ясно ставить вопрос, сразу получишь ответ с кодом smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ivushka
Дата 29.12.2005, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 28.10.2005
Где: Москва

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



Sardar
в прошлой теме у меня не получалось отослать таллицу на этой же странице после обновления,
а теперь мне надо при нажатии на кнопку открыть новое окно и submit'ом передать данные туда.

я разобралась с POSTом там моя ошибка была smile

а эта тема как раз то что мне надо сейчас!!!

Надо передать POST'ом данные на новое
Код

window.open

--------------------
Программист - это диагноз!
PM MAIL ICQ   Вверх
Sardar
Дата 29.12.2005, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(Ivushka @ 29.12.2005, 15:22)
Надо передать POST'ом данные на новое

Пойми отослать инфу можно только на сервер, а ответ загрузить в любом из открытых окон. Если тебе это нужно, то просто задай target="имя окна", имя окна ты задаёшь вторым параметром window.open

Для передачи инфы из родительского окна в дочернее (повторяю не отсылка на сервер и получение результата в окно, а буквально передать слово "инфа" в другое окно), то тебе требуеться ссылка на окно, что ты получила вызовом window.open, по ссылке уже вызываешь JS функции в окне и меняешь переменные.

Ivushka ты всё ещё не можешь задать ясный вопрос, а ведь это половина успеха smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ivushka
Дата 29.12.2005, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 28.10.2005
Где: Москва

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



Sardar Спасибо что няньчишся))
Просто сложно задавать вопрос когда не знаеш ни JS ни PHP ....
По идее надо делать
Код

<form method='post' target<!-- вместо action-->='print.php?val=1&pr=2&day1=".$day1."&month1=".$month1."&year1=".$year1."&day2=".$day2."&month2=".$month2."&year2=".$year2."' name='form1'  >
...
<input type="submit" value="Печать списка" name="B2" OnClick="Open_w();">

а в JS
Код

function Open_w(){
m.value = spisok.rows.length-2; 
form1.submit; 
window.open('', 'print.php?val=1&pr=2&day1=".$day1."&month1=".$month1."&year1=".$year1."&day2=".$day2."&month2=".$month2."&year2=".$year2."');

код не проверяла так на вскидку...
правильно я заблуждаюсь?
smile
--------------------
Программист - это диагноз!
PM MAIL ICQ   Вверх
Sardar
Дата 29.12.2005, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(Ivushka @ 29.12.2005, 15:56)
правильно я заблуждаюсь?

угу, всё совершенно не правильно smile

target задаёт имя окна, не путь, не параметры, не аттрибуты (хотя имя всё таки аттрибут...), а уникальное по сути свойство - имя. Браузер при отправке формы поищет открытое тобой ранее окно с заданным именем, если не найдёт, то сам откроет такое.

Далее смотрим на длинний ряд параметров, что ты пытаешся отослать GET'ом, хотя форма отсылаеться POST'ом. Звучит дико, но не каждый браузер позволит такой action, некоторые (старая мозилла этим страдала по моему) могут отрезать все параметры, т.к. параметры передаються в hidden полях. Следовательно твоя форма будет выглядеть так:

Код
<form method="POST" action="print.php" target="mywindow">
    <input type="hidden" name="val" value="1">
    <input type="hidden" name="pr" value="2">
    <input type="hidden" name="day1" value="{$day1}">
    <input type="hidden" name="month1" value="{$month1}">
    <input type="hidden" name="year1" value="{$year1}">
    <input type="hidden" name="day2" value="{$day2}">
    <input type="hidden" name="month2" value="{$month2}">
    <input type="hidden" name="year2" value="{$year2}">
    
    <input type="submit" value="Печать списка">
</form>

Пришедшие данные читаем из $_POST или из $_REQUEST, никакого JS кода тебе не нужно.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ivushka
Дата 30.12.2005, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 28.10.2005
Где: Москва

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



Sardar
нет все не так(((

я открываю окно print.php параметры нужны для выбора действи на print.php.
а данные я передаю другие!!!! таблицу тобиш

а если так?
Код

window.open('print.php?val=1&pr=2&day1=".$day1."&month1=".$month1."&year1=".$year1."&day2=".$day2."&month2=".$month2."&year2=".$year2."', 'print.php');



вот код формы целиком
Код

$sql_red = $sql_o." Trips_Place.Out < '". $qwe ."' and";
           if(($day1)and($month1)and($year1)) 
             if (($day2)and($month2)and($year2))
               {$sql_red = $sql_red . " ((Trips_Place.In<='".$data_q1."' AND Trips_Place.Out > '".$data_q2."') or Trips_Place.In ='".$data_q1."' or Trips_Place.Out ='".$data_q1."' or Trips_Place.In ='".$data_q2."' or Trips_Place.Out ='".$data_q2."')";
                print "<form method='post' action='msk.php?val=1&pr=2&day1=".$day1."&month1=".$month1."&year1=".$year1."&day2=".$day2."&month2=".$month2."&year2=".$year2."' name='form1'>";
               }
              else  
              {$sql_red = $sql_red . " ((Trips_Place.In<='".$data_q1."' AND Trips_Place.Out > '".$data_q1."') or Trips_Place.In ='".$data_q1."' or Trips_Place.Out ='".$data_q1."')";
               print "<form method='post' action='msk.php?val=1&pr=2&day1=".$day1."&month1=".$month1."&year1=".$year1."' name='form1'>";
              }
           else
             {$sql_red = $sql_red . " ((Trips_Place.In<=CURDATE() + INTERVAL 1 DAY AND Trips_Place.Out>CURDATE() + INTERVAL 1 DAY) OR Trips_Place.In = CURDATE() + INTERVAL 1 DAY OR Trips_Place.Out = CURDATE() + INTERVAL 1 DAY)";
              print "<form method='post' action='msk.php?val=1&pr=2' name='form1'>";
             }
           $sql_red = $sql_red. $sql_or;
      ?>
      <h2 align="center">Список сотрудников <? if(($day1)and($month1)and($year1)) {
        echo " с ".$data_v1; 
        if(($day2)and($month2)and($year2)) 
          echo " по ".$data_v2; 
        }
      else echo " на ".$data_t;
      ?>.</h2>
      <table align="center" id=spisok width="800" class='MyTable' style='table-layout: fixed;'>
      <thead>
         <tr>
           <th width="20%" id='fam'><b>Фамилия</b></th>
           <th width="20%" id='name'><b>Имя</b></th>
           <th width="20%" id='otc'><b>Отчество</b></th>
           <th width="20%"><b>Примечания</b></th>
           <th><b>Удалить</b></th>
      </thead>
      <tbody align="center">
      
      <?
       $result = mysql_query($sql_red) or die("Query failed : " . mysql_error());  
       $number = MYSQL_NUMROWS($result);

      for ($i=0; $i<$number; $i++){
        $Fam=mysql_result($result,$i,"Staff_Personnel.Fam");
        $Nam=mysql_result($result,$i,"Staff_Personnel.nam");
        $Ser=mysql_result($result,$i,"Staff_Personnel.Sern");
        print "<tr>";
        print "<td><input name=f".($i+1)." id=f".($i+1)." readonly=f".($i+1)." type='text' value=".$Fam.">";
        print "</td>";
        print "<td><input name=n".($i+1)." id=n".($i+1)." readonly=n".($i+1)." type='text' value=".$Nam.">";
        print "</td>";
        print "<td><input name=s".($i+1)." id=s".($i+1)." readonly=s".($i+1)." type='text' value=".$Ser.">";
        print "</td>";
        print "<td><input id='p".($i+1)."' name=p".($i+1)." type=text/></td>";
        print "<td><input value='Удалить' onClick='Del(this);' type='button'/></td>";
        print "</tr>";
      }
     ?>
       <tr>
         <td><input id="Fam1"  type=text/></td>
         <td><input id="Nam1" type=text/></td>
         <td><input id="Otch1" type=text/></td>
         <td><input id="prim1" type=text/></td>
         <td></td>
       </tr>
       <tr>
         <td colspan="3" align="center">
         <input type='button' value='Добавить строку' name='B1' onClick='JSadd()'/>
         </td>
         <td align="center" colspan="2">
           <input type="hidden" value="" name="m">
           <input type="submit" value="Печать списка" name="B2" OnClick="m.value = spisok.rows.length-2; this.submit; location.reload('msk.php?val=1&pr=2');">
         </td>
        </tr>
        </tbody>
        </form>


только здесь печать происходит на той же странице...
--------------------
Программист - это диагноз!
PM MAIL ICQ   Вверх
Sardar
Дата 2.1.2006, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(Ivushka @ 30.12.2005, 08:57)
а если так?

Ты откроешь окно, куда загрузишь print.php, передав GET параметры. Окно не успеет подгрузиться, так как ты form.submit в это окно другую заполненную форму, т.е. все результаты прошлого print.php запроса убиваються.

Я так понял ты выдаёшь всю базу с персоналом на страницу, где (не мало офигевший) менеджер сможет добавлять/удалять людей (но не изменять...). Затем вся база (таблица) со страницы отправляеться на сервер, где и перепишет старые значения из БД.

Думаю и так ясно что подобный подход чреват потерей всей базы при малой ошибке (ой, не вся инфа дошла... smile ), но пока не об этом. В window.open вторым параметром ты передала имя окна (у тебя это print.php из поста выше), вот это имя и укажи в аттрибуте target="<имя>" формы. Тогда при отправке форма отправиться на сервер, а результаты будут загруженны в новом открытом окне. Это я так понял под понятием "передать данные в окно"...

Повторяю, сначала загрузиться print.php указанный в window.open, а когда будет отправлена форма, то будет загружен action формы (у тебя msk.php)


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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