Автор Тема: динамическая форма  (Прочитано 14915 раз)

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

Оффлайн new_coder

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« : 20 Июля 2007, 14:12:59 »
в зависимасти от значения селекта JavaScript
добавляет поля к форме


function CheckLK(Item)
{

var 
element document.getElementById(Item);
element.innerHTML "";

var 
addform "<table border=0 cellspacing=3 cellpadding=0 width=100%><tr><td align=left width=25%>Код партнера (только для партнеров фирмы 1С)</td>"+
"<td><input type=text size=50 name=\'Code\' class=\'Colored\' align=left></td></tr>"+
"<tr><td align=left width=25%>Название организации</td>"+
"<td><input type=text size=50 name=\'Org\' class=\'Colored\' align=left></td></tr>"+
"<tr><td align=left width=25%>Регистрационный номер комплекта:</td>"+
"<td><input align=left type=text size=50 name=\'Reg\' class=\'Colored\'></td></tr>"+
"<tr><td align=left width=25%>Название конфигурации</td>"+
"<td><input align=left type=text size=50 name=\'Config\' class=\'Colored\'></td></tr>"+
"<tr><td align=left width=25%>Полный номер версии:</td>"+
"<td><input align=left type=text size=50 name=\'NumVer\' class=\'Colored\'></td></tr></table>";

selectedgroup1 document.fsend.ТемаЖалобы.options[document.fsend.ТемаЖалобы.selectedIndex].value;
selectedgroup2 document.fsend.КомуПисьмо.options[document.fsend.КомуПисьмо.selectedIndex].value;

if(
selectedgroup1 == "Линия консультаций")
{
return 
element.innerHTML addform;
}

if(
selectedgroup2 == "на Линию консультаций")
{
return 
element.innerHTML addform;
}
}


но когда отсылаешь форму
в скрипт добавленные параметры не  приходят.
почему?

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
динамическая форма
« Ответ #1 : 20 Июля 2007, 15:13:35 »
Цитировать
new_coder:

document.fsend.ТемаЖалобы.options

document.fsend.КомуПисьмо.options



Интереса ради спрашываю - и это произведение исскуства работает?

Оффлайн new_coder

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« Ответ #2 : 20 Июля 2007, 15:31:19 »
работает.

а по сути вопроса помоч не?

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
динамическая форма
« Ответ #3 : 20 Июля 2007, 15:55:45 »
Ну все-таки это произведение искусства я убрал бы, название переменных русскими буквами это конечно шедевр.

Цитировать
new_coder:
а по сути вопроса помоч не?



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

Сделать это можно например если для FireFox использовать расширение
View Source Chart

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« Ответ #4 : 20 Июля 2007, 16:10:28 »
Грабли-то известные! Вместо ".innerHTML=" при добавлении элементов форм надо использовать createElement() и appendChild().

Оффлайн new_coder

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« Ответ #5 : 20 Июля 2007, 16:18:40 »
поставил View Source Chart. Все присутствует как и должо.

Оффлайн new_coder

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« Ответ #6 : 20 Июля 2007, 16:28:16 »
brainkiller кинь пожалуйста ссылку на инфу поэтому поводу.

и вообще createElement() appendChild() innerHTML это к чему относиться

к JaveScript, DOM, HTML5.

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
динамическая форма
« Ответ #7 : 20 Июля 2007, 16:39:15 »
Цитировать
new_coder:
brainkiller кинь пожалуйста ссылку на инфу поэтому поводу


Вот здесь достаточно ссылок

http://www.google.ru/search?q=document.CreateElement&hl=ru&lr=

http://www.google.ru/search?hl=ru&newwindow=1&q=appendChild&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=


Цитировать
new_coder:
и вообще createElement() appendChild() innerHTML это к чему относиться

к JaveScript, DOM, HTML5.


Это DOM

Оффлайн new_coder

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« Ответ #8 : 23 Июля 2007, 14:25:42 »
Получаеьтся такая фигня

Внутри тега FORM присутствуют теги TABLE, DIV оформляющие элементы ввода (INPUT).

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

как победить???

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« Ответ #9 : 23 Июля 2007, 16:56:14 »
new_coder
Видимо, делать верстку семантической. В любом случае, хуже от этого не будет.

Оффлайн new_coder

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« Ответ #10 : 23 Июля 2007, 17:12:04 »
поясните

Цитировать

делать верстку семантической


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

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« Ответ #11 : 23 Июля 2007, 21:15:02 »
Попробуйте тогда хотя бы форму избавить от лишнего кода, отвечающего исключительно за оформление.

Оффлайн new_coder

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« Ответ #12 : 24 Июля 2007, 16:21:57 »
переверстал страницу и теперь если внутри тега form делать appendchild  к форме вложенного елемента (div) с добавленными тегами input то все работает нормально во всех браузерах, но если вложенный тег table, то в IE  перестаёт добавлятся?

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« Ответ #13 : 24 Июля 2007, 21:41:30 »
Тогда избавьтесь от таблицы вообще! Оформите форму при помощи CSS.

[OFF]Хороший пример приведен в файлах к этой книге. Смотрите шестую главу внутри архива.[/OFF]

Оффлайн new_coder

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
динамическая форма
« Ответ #14 : 25 Июля 2007, 09:48:19 »
спасибо за ссылку!
да, походу с помощью CSS можно творить чудеса,
но как с поддержкой разных браузеров?

всетаки таблицы работают всегда и везде.

а проблему с таблицей тв IE решил, нужно было добавить tbody.

 

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