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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с формой !! Данные из одной страницы в другую 
:(
    Опции темы
DMS
  Дата 4.8.2004, 19:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Задача такая нужно из первой формы передать введенную инфу на предосмотр и с предосмотра передат в другую форму metod get
Помогите разобраться плиз или можно както ето подругому написать нужно выдать форму на предосмотр и передать дальше в другую форму

у меня две страници 1.htm и 2.htm
Код
------ / 1.htm

<script language="JavaScript">
<!--
function newPage()
{
value1=""+document.form1.val1.value;
value2=""+document.form1.val2.value;
value3=""+document.form1.val3.value;
self.location="2.htm?="+value1+"="+value2+"="+value3;
}
//-->
</script>
</head>
<body>
<form name="form1">

//сдесь инпуты val1 val2 val3

//посылаем это все во вторую форму

<input type="button" name="button" value="Submit" onClick="newPage()">


------------------------------- / 2.htm


//Преобразуем всю ету тему

<script language="JavaScript">
<!--
userName = ""+ document.location;
n1 = userName.indexOf("=")+1;
userName= userName.substring(n1);
n1= userName.indexOf("=")+1;
val1=userName.substr(0,n1-1);

userName= userName.substring(n1);
n1= userName.indexOf("=")+1;
val2=userName.substr(0,n1-1);

val3= userName.substring(n1);

document.write("<p>" + val1 +" "+ val2 +" "+ val3 +"!")

//-->
</script>



Помогите как мне зделать так чтобы помимо текста это еше в скрытые поля попало ??? ??

Код
<input type=hidden name="val" value="значение val1">

  Вверх
Aliance
Дата 4.8.2004, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Бегло пробежавшись по коду я не заметил ошибок, а про скрытое поле - лично я (после небольшой пьянки) тебя слабо понимаю, что "ЭТО" ? =)
rolleyes.gif adv/54.gif
PM MAIL WWW ICQ Skype   Вверх
DMS
Дата 4.8.2004, 22:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











<input type=hidden value= - скрытые поля которые не отображаются на странитце т.к. они скрытые )


помогите а то очень уж нужно както ето зделать

может ктото это подругому както может зделать

суть вся в том чтобы передать форму сначала на предосмотр в виде текста а потом в другую форму qstn.gif
  Вверх
korob2001
Дата 4.8.2004, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Цитата

Бегло пробежавшись по коду я не заметил ошибок, а про скрытое поле - лично я (после небольшой пьянки) тебя слабо понимаю, что "ЭТО" ? =)

Вот так выглядит скрытое поле:
Код

<input type=hidden name="val" value="значение val1">


Насколько я понял, то тебе необходимо реализовать предосмотр. Если да, тогда зачем передавать данные на другую html страницу? Ведь предосмотр можно сгенерить и сценарием.
Вобщем принцип такой:
1. В качестве параметров функции передаём значение полей.
2. Проверяем инфу на коректность.
3. Если где-то замечены ошибки выдаём при помощи alert() ошибку.
4. Если проверка прошла успешно, генерим форму с скрытыми полями и предосмотром.

Если ты меня не понял, дай знать, постараюсь реализовать рабочий пример.

Удачи.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
DMS
Дата 4.8.2004, 22:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(korob2001 @ 4.8.2004, 22:34)
Цитата

Бегло пробежавшись по коду я не заметил ошибок, а про скрытое поле - лично я (после небольшой пьянки) тебя слабо понимаю, что "ЭТО" ? =)

Вот так выглядит скрытое поле:
Код

<input type=hidden name="val" value="значение val1">


Насколько я понял, то тебе необходимо реализовать предосмотр. Если да, тогда зачем передавать данные на другую html страницу? Ведь предосмотр можно сгенерить и сценарием.
Вобщем принцип такой:
1. В качестве параметров функции передаём значение полей.
2. Проверяем инфу на коректность.
3. Если где-то замечены ошибки выдаём при помощи alert() ошибку.
4. Если проверка прошла успешно, генерим форму с скрытыми полями и предосмотром.

Если ты меня не понял, дай знать, постараюсь реализовать рабочий пример.

Удачи.

Хороше бы ето как то на примере показать
Цитата
можно сгенерить и сценарием
sample.gif

было бы здорово посмотреть )
  Вверх
Sardar
Дата 4.8.2004, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


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

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



Так можно:
Код

<form name="test">

</form>
<script language="Javascript" type="text/javascript">
<!--
function getData(del) { //соберем данные
del=del? del: "&";
return location.search.substr(1).split(del);
}
//добавим новые элементы к форме
for(var i=0, data=getData(); i<data.length; i++) {
 var nd=data[i].split("=");
var o=document.createElement("INPUT");
o.setAttribute("type","hidden");
o.setAttribute("name",nd[0]);
o.setAttribute("value",(nd[1]? nd[1]: "1"));
document.forms.test.appendChild(o);
}
//-->
</script>



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


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Кстати! Что потом ты делаешь с данными? Сохраняешь на сервере?
Вобщем вот пример:
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Ввод данных</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript" type="text/javascript">
 <!--//
  function newPage(name, family, mail) {
              // Делаем проверку данных
  if ( ( name == "" ) || ( family == "" ) || ( mail == "" ) ) {
                      alert("Заполнены не все поля\nИсправьте свою ошибку.");
  } else {
                    with ( document ) {
                      write("<html><head><title>Предосмотр</title></head>");
                      write("<body>");
                      write("<h3><b>Вас всё устраивает?</b></h3>");
                      write("<hr width='50%' size='0' align='left'>");
                      write("<b>Имя:</b> " + name);
                      write("<br><b>Фамилия:</b> " + family);
                      write("<br><b>E-mail:</b> " + mail);
                      write("<br>");
                      write("<form name='sendForm' action='cgi-bin/script.cgi'>");
                      write("<input type='hidden' value='" + name + "' name='name'>");
                      write("<input type='hidden' value='" + family + "' name='family'>");
                      write("<input type='hidden' value='" + mail + "' name='mail'>");
                      write("<input type='submit' value='Да'>");
                      write("<input type='button' value='Нет' onClick='javascript:history.back()'>");
                      write("</form></body></html>");
                   }
             }
  }
 //-->
</script>
</head>

<body>
<form name="sendForm">
<table border="0">
 <tr><td>Имя:</td><td><input type="text" size="30" name="name"></td></tr>
 <tr><td>Фамилия:</td><td><input type="text" size="30" name="family"></td></tr>
 <tr><td>E-mail:</td><td><input type="text" size="30" name="mail"></td></tr>
 <tr><td colspan="2">
     <input type="button" value="Submit" onClick="newPage(document.sendForm.name.value,
                                                       document.sendForm.family.value,
                document.sendForm.mail.value)">
     <input type="reset" value="Clear">
 </td></tr>
</table>
</form>
</body>
</html>

Правда, тестировал только в IE6.0

Это сообщение отредактировал(а) korob2001 - 4.8.2004, 23:29


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Aliance
Дата 4.8.2004, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



korob2001
DMS
Не надо меня учить что такое скрытое поле...

Когда нормальными словами объяснили что под "ЭТО" подразумевалась скрытое поле - понял (:

Это сообщение отредактировал(а) Aliance - 5.8.2004, 03:38
PM MAIL WWW ICQ Skype   Вверх
korob2001
Дата 4.8.2004, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Aliance
Помоему ты задал вопрос. Затем получил на него ответ. ;)
Цитата

Не надо меня учить что такое скрытая форма...

Не форма, а поле.

Удачи.

Это сообщение отредактировал(а) korob2001 - 4.8.2004, 23:54


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
DMS
Дата 5.8.2004, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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




Цитата
Кстати! Что потом ты делаешь с данными? Сохраняешь на сервере?
Вобщем вот пример:

Код 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Ввод данных</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript" type="text/javascript">
<!--//
  function newPage(name, family, mail) {
              // Делаем проверку данных
  if ( ( name == "" ) || ( family == "" ) || ( mail == "" ) ) {
                      alert("Заполнены не все поля\nИсправьте свою ошибку.");
  } else {
                    with ( document ) {
                      write("<html><head><title>Предосмотр</title></head>");
                      write("<body>");
                      write("<h3><b>Вас всё устраивает?</b></h3>");
                      write("<hr width='50%' size='0' align='left'>");
                      write("<b>Имя:</b> " + name);
                      write("<br><b>Фамилия:</b> " + family);
                      write("<br><b>E-mail:</b> " + mail);
                      write("<br>");
                      write("<form name='sendForm' action='cgi-bin/script.cgi'>");
                      write("<input type='hidden' value='" + name + "' name='name'>");
                      write("<input type='hidden' value='" + family + "' name='family'>");
                      write("<input type='hidden' value='" + mail + "' name='mail'>");
                      write("<input type='submit' value='Да'>");
                      write("<input type='button' value='Нет' onClick='javascript:history.back()'>");
                      write("</form></body></html>");
                  }
            }
  }
//-->
</script>
</head>

<body>
<form name="sendForm">
<table border="0">
<tr><td>Имя:</td><td><input type="text" size="30" name="name"></td></tr>
<tr><td>Фамилия:</td><td><input type="text" size="30" name="family"></td></tr>
<tr><td>E-mail:</td><td><input type="text" size="30" name="mail"></td></tr>
<tr><td colspan="2">
    <input type="button" value="Submit" onClick="newPage(document.sendForm.name.value,
                                                      document.sendForm.family.value,
                document.sendForm.mail.value)">
    <input type="reset" value="Clear">
</td></tr>
</table>
</form>
</body>
</html>



Правда, тестировал только в IE6.0





Да korob2001 реално получилось biggrin.gif ) но лутше наверно на двух страницах делать (или придется во фрэйме) потомучто предосмотр будет находится в левом правом углу наверно все время

дальше нужно скинуть все в другую форму
<form action="https://url" method="POST" target="_top">

PM MAIL   Вверх
korob2001
Дата 5.8.2004, 03:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Цитата

Да korob2001 реално получилось  ) но лутше наверно на двух страницах делать (или придется во фрэйме) потомучто предосмотр будет находится в левом правом углу наверно все время

дальше нужно скинуть все в другую форму

Если предпочитаешь юзать несколько html фалов. Значит просто передавай параметры следующей странице. В атрибуте action тэга <form> укажи путь к следующей html странице. Примерно так:
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Ввод данных</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body>
<form action="second.html" method="get">
<table border="0">
<tr><td>Имя:</td><td><input type="text" size="30" name="name"></td></tr>
<tr><td>Фамилия:</td><td><input type="text" size="30" name="family"></td></tr>
<tr><td>E-mail:</td><td><input type="text" size="30" name="mail"></td></tr>
<tr><td colspan="2">
   <input type="submit" value="Submit">
   <input type="reset" value="Clear">
</td></tr>
</table>
</form>
</body>
</html>

Заметь что не button, а submit.

Затем получи параметры в файле second.html через document.URL
Вобщем попробуй написать такой код в файле second.html
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Получил данные</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript" type="text/javascript">
<!--//
 function getParam( param ) {
          // Теперь с перемнной param делай всё что пожелаешь.
          document.write( param );
 }
//-->
</script>
</head>

<body>
<form>
<table border="0">
<tr><td>
   <input type="button" value="Get Param" onClick="getParam( document.URL )">
</td></tr>
</table>
</form>
</body>
</html>

Я прсто вывел url на экран, тебе же нужно разбить данную строку и получить имена параметров и сами параметры. Ну а затем генерь форму, которая передаёт новые и скрытые поля дальше и т.д.
Думаю принцип ясен.

Удачи.

Это сообщение отредактировал(а) korob2001 - 5.8.2004, 05:38


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


 




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


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

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