Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Форма отправки данных

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: как правельно сделать форму отправки?
leon2009
Отправлено: 02 Мая, 2010 - 19:57:05
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <form action="1.php" id="ppp" enctype="multipart/form-data" name="vivod">
  2. <input type="checkbox" name="cheks" value=""/>1111
  3. <input type="checkbox" name="cheks" value=""/>2222
  4. <input type="checkbox" name="cheks" value=""/>3333
  5. </form>
  6. <a href="#" class="button" onclick="document.getElementById('ppp').submit()">start</a>


т.е должно получится
$vivod=1111 2222 3333
Спасибо!


Отредактировано модератором: JustUserR, 03 Мая, 2010 - 01:58:23
Удалил опрос без наличия реальных вариантов ответа
 
 Top
Платинум
Отправлено: 02 Мая, 2010 - 20:05:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Апр. 2009  
Откуда: Пермь


Помог: 0 раз(а)




leon2009 пишет:
<input type="checkbox" name="cheks" value=""/>1111


А надо:
CODE (html):
скопировать код в буфер обмена
  1. <input type="checkbox" name="cheks" value="1111"/>

(Отредактировано автором: 02 Мая, 2010 - 20:06:10)

 
My status
 Top
JustUserR
Отправлено: 03 Мая, 2010 - 02:04:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




leon2009 пишет:
<input type="checkbox" name="cheks" value=""/>3333
Вы наверное немного перепутали - действительно в HTML значение value у флажка не выводится на экран - и есть надо выводить обычным текстом рядом с соответствующим флажком
Но при отсылке формы происходит отправка пары значений name=value - и текстовое значение справа от флажка не играет роли Кстати если флажок не выбран то он не передается вообще - и для того чтобы передавался надо или перед ним сделать скрытое поле с таким же name - или отслеживать передачу с помощью JS-скрипта Заодно можно сделать автоматическую генерацию полей-подсказок для каждого из флажков - на основе его value-значения
Также для отсылки массива флагов с одинаковым они должны иметь имя с квадратными скобками на конце - в вашем случае это checks[] - и в PHP-скрипте выводить echo implode(' ',$_POST['checks'])


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
leon2009
Отправлено: 03 Мая, 2010 - 17:19:44
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




вот исправил
CODE (html):
скопировать код в буфер обмена
  1. <html><head>
  2. <SCRIPT language=JavaScript title="check">
  3. function sel_all(){
  4.    if( !document.form_name1.cheks ) return;
  5.    if( !document.form_name1.cheks.length )
  6.       document.form_name1.cheks.checked = document.form_name1.cheks.checked ? false : true;
  7.    else
  8.       for(var i=0;i<document.form_name1.cheks.length;i++)
  9.         document.form_name1.cheks[i].checked = document.form_name1.cheks[i].checked ? false : true;
  10. }
  11. function sel_all2(){
  12.   if( !document.form_name2.cheks ) return;
  13.   if( !document.form_name2.cheks.length )
  14.      document.form_name2.cheks.checked = document.form_name2.cheks.checked ? false : true;
  15.   else
  16.      for(var i=0;i<document.form_name2.cheks.length;i++)
  17.         document.form_name2.cheks[i].checked = document.form_name2.cheks[i].checked ? false : true;
  18. }
  19. function sel_all3(){
  20.   if( !document.form_name3.cheks ) return;
  21.   if( !document.form_name3.cheks.length )
  22.      document.form_name3.cheks.checked = document.form_name3.cheks.checked ? false : true;
  23.   else
  24.      for(var i=0;i<document.form_name3.cheks.length;i++)
  25.         document.form_name3.cheks[i].checked = document.form_name3.cheks[i].checked ? false : true;
  26. }
  27. document.onclick=function(ev)
  28.  
  29.      {var elm=(ev) ? ev.srcElement : event.srcElement
  30.  
  31.      if(elm.className="css_class1") {form_name1()}
  32.  
  33.      else if(elm.className="css_class1") {form_name2()}
  34.  
  35.      else if(elm.className="css_class1") {form_name3()}
  36.  
  37.      else {}
  38.  
  39.      }
  40.  
  41. </SCRIPT>
  42. </head>
  43. <body>
  44. <div class="link"><a href="javascript:sel_all()">select all</a></div>
  45.        <form action="vivod.php" method="post" id="ppp" enctype="multipart/form-data" name="form_name1">
  46.         <input type="checkbox" name="cheks[]" value="1111"/>1111
  47.       <input type="checkbox" name="cheks[]" value="2222"/>2222
  48.       <input type="checkbox" name="cheks[]" value="3333"/>333
  49.         </form>
  50.       <a href="#" class="button" onclick="document.getElementById('ppp').submit()">start</a>
  51. </body>
  52. </html>

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. echo implode(' ',$_POST['cheks']);
  4. ?>
  5.  

тока чеперь выдилиние пропало чексов Смущён
 
 Top
JustUserR
Отправлено: 04 Мая, 2010 - 09:55:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




leon2009 А зачем вы для каждой группы checkbox-ов используете отдельную функцию - когда обращение к document.all["form_name"+i] легко обобращется таким образом или через DOM-модель напрямую
Кроме того ваша функция по сути ничего не делает - ведь имя вашего флажка checks[] а вы обращаетесь в checks - поэтому используйте или номер элемента или дайте ему JS-совместимый ID вместе с этим name - или если ничего не менять то просто используйте скобочку форму обращения типа form["checks[]"]
Но с document.onclick это вы правильно внесли улучшение - таким образом обработчка событий будет быстрее и более автоматизируемой для каждой из групп элементов по определенному признаку


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB