Автор Тема: Вот такая вот задачка...  (Прочитано 5778 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн APL

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 344
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.aerozone.ru
Вот такая вот задачка...
« : 24 Октября 2008, 15:38:49 »
Сижу... голову ломаю...

Есть форма, состоящая из нескольких частей, эти части чел не должен заполнять вместе, т.е либо одну, либо другую....

Сделал простенький тестовый html в котором мы можем выбирать какую часть формы мы хотим заполнить:




















Часть 1 нажмите для заполнения


 
Часть 2 нажмите для заполнения



 
 







проблема в слудующем:

1. мы должны отправлять на сервер данные полей только той группы которую выбрали, т.е. которая видна

2. мы должны сохранять при переключении между видимыми частями формы уже введенные данные, т.е. пользователь может переключаться между частями формы до сабмита с сохранением введенной инфы.

в вышеприведенном коде работает пункт 2, но отправляет на сервак всю форму... и display=none тоже... а этого не нужно

пробовал делать по-другому - не скрывать содержимое контейнеров, а удалять innerhtml, но тогда он не хранит уже введенное пользователем при переключении остальное херится....

как бы мне совместить, сильно не замарачиваясь, оба требования?

P.S. в javascripte я не профи... сложные разборы DOM не осилю...

Оффлайн APL

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 344
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.aerozone.ru
Вот такая вот задачка...
« Ответ #1 : 24 Октября 2008, 15:44:07 »
Попробовал еще вот так:




















Данные 1


 
Данные 2


 
 







как минимум IE снова отправляет всю форму... несмотря на innerhtml = \'\' :(

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вот такая вот задачка...
« Ответ #2 : 24 Октября 2008, 18:36:14 »
В порядке бреда: попробуй, скрывая часть формы, присваивать инпутам внутри неё свойство disabled.

Оффлайн APL

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 344
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.aerozone.ru
Вот такая вот задачка...
« Ответ #3 : 24 Октября 2008, 18:42:13 »
brainkiller

это понятно... автоматизировать нужно... чтоб само выбирало имена формы из контейнера и дазайбл делало...
а я js не так хорошо знаю...

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вот такая вот задачка...
« Ответ #4 : 24 Октября 2008, 20:23:08 »
в процедуру show():


var partToHide = ( id == ) ? document.getElementById(\'tr2\') : document.getElementById(\'tr1\');
var inputs = partToHide.getElementsByTagName(\'INPUT\');
for (var i = 0; i < inputs.length; i++) {
    inputs(i).disabled = true;
}


Аналогично для всяких там select и textarea. Аналогично вешаем disabled = false на элементы другой части формы, если нужно переключаться туда-сюда.

Работоспособность не тестировал. Оставляю Вам. Приятных выходных! :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28