Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Перехватить передаваемые данные формы
 
 автор: ddhvvn   (15.04.2009 в 15:53)   письмо автору
 
 

Есть форма с полями и радиокнопками.
в onsubmit прописана функция (с return false).
В этой функции мне надо обработать некотрые данные, а потом ВСЕ данные формы передать AJAXом в скрипт.
Вопрос, вот можно как-то автоматически получить значения всех элементов формы (в формате key=value или еще как-то) или только поэлементно с помощью getElement(s) ?

  Ответить  
 
 автор: mikha   (15.04.2009 в 16:38)   письмо автору
 
   для: ddhvvn   (15.04.2009 в 15:53)
 

<script>
function zzz(){
  var obj = document.forms['name_form'];
  for(i = 0; i < obj.length; i++){
    alert(obj[i].name);
    alert(obj[i].value);
    alert(obj[i].name+'='+obj[i].value);
  }
}
</script>
<form action="" method="post" name="name_form">
<input name="name_text1" type="text" value="1111" /><br />
<input name="name_text2" type="text" value="2222" /><br />
<input name="name_submit" type="submit" onClick="zzz(); return false;" value="отправить" />
</form>

Или только нужное
function zzz(){
  alert(document.name_form.name_text1.name+'='+document.name_form.name_text1.value);
  alert(document.name_form.name_text2.name+'='+document.name_form.name_text2.value);
}

  Ответить  
 
 автор: ddhvvn   (15.04.2009 в 18:15)   письмо автору
 
   для: mikha   (15.04.2009 в 16:38)
 

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

  Ответить  
 
 автор: PAT   (15.04.2009 в 18:15)   письмо автору
 
   для: ddhvvn   (15.04.2009 в 15:53)
 

>можно как-то автоматически получить значения всех элементов формы
Нет, автоматически нельзя.

>только поэлементно?
Да, поэлементно.

>с помощью getElement(s)?
Не только.
Можно и через коллекцию ФОРМА.elements, определяя, есть ли у элемента атрибут NAME и, если есть, то пара NAME=VALUE этого элемента будет передаваться при сабмите формы.

PS. Учтите один нюанс. При сабмите данных методом GET длина URL вместе с тем, что передаётся, имеет ограничение по длине - 216 символов. И если длина URL ресурса, указанного в ACTION формы ПЛЮС один (символ вопроса) ПЛЮС длины всех имеющихся пар NAME=VALUE ПЛЮС количество межпарных амперсандов-раделителей в сумме будет больше 216, то значение передаваемой строки обрежется, а вот ваш скрипт (который обойдёт элементы формы перед сабмитом) такого ограничения не имеет (если вы сами его не сделаете).

  Ответить  
 
 автор: ddhvvn   (15.04.2009 в 18:17)   письмо автору
 
   для: PAT   (15.04.2009 в 18:15)
 

>Можно и через коллекцию ФОРМА.elements, определяя, есть ли у элемента атрибут NAME и, если есть, то пара NAME=VALUE этого элемента будет передаваться при сабмите формы.
Я в курсе, но просто считал его однотипным с указанным )

>PS. Учтите один нюанс.
Да я в курсе, спасибо. Я и так передаю методом POST. =)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования