Javascript - формульные - вложенные динамические функции appendchild - PullRequest
0 голосов
/ 13 мая 2010

У меня есть форма, которая меняет поля ввода в зависимости от переключателя.

для текста появляется текстовое поле для textarea появляются дополнительные 2 поля для столбцов и строк для выбора, флажка и радио появляются дополнительные поля с appendchild

посмотрите здесь: http://joomla.byethost16.com/php.php

Теперь я хочу, чтобы пользователь добавил больше params, param2, param3 и т. Д.

К сожалению, я сделал функции js, которые запускают поля в соответствии с переключателем, как это

    function textarea(){    
if (document.getElementById('option2').checked = true){
    document.getElementById('feld').style.display = '';
        document.getElementById('feld2').style.display = '';
        document.getElementById('feld4').style.display = 'none';
}}

Это означает, что у меня нет динамики в моей форме, поскольку идентификатор в этой функции еще не является динамическим, и onclick будет запускать что-либо или только первый параметр param1.

все параметры должны быть такими, но каким-то образом увеличивающиеся числа и Js-функция для радио должны принимать их тоже

    <td>Param_1</td>
<td><p>
<input type="radio" onclick='text()' name="option0" id="option0" value="text" checked="yes">text
<input type="radio" onclick='spacer()' name="option0" id="option1" value="spacer">spacer
<input type="radio" onclick='textarea()' name="option0" id="option2" value="textarea">textarea
<input type="radio" onclick='selecta()' name="option0" id="option3" value="select">select
<input type="radio" onclick='radio()' name="option0" id="option4" value="radio">radio
<input type="radio" onclick='checkbox()' name="option0" id="option5" value="checkbox">checkbox</br>
<input type="hidden" name="fields" value="1" id="fields"  />

<div id="feld">
Name <input type="text" name="param1" id="param1" size="40" maxlength="40">
Default<input type="text" name="paramdef1" id="paramdef1" size="40" maxlength="40">
<div id="feld4" style="display:none;">
<input type="text" name="param11" size="40" value="value1" style="display: inline">
<a href=# onclick='add(1)'>add</a>  <a href=# onclick='reset()'>reset</a></div>
</div>

<div id="feld2" style="display:none;">
Columns<input type="text" name="cols1" size="20" maxlength="40">Rows<input type="text" name="rows1" size="20" maxlength="40"></div>


</td>
</tr>

Как мне сделать так, чтобы моя форма получала динамически (как я делал «добавить / сбросить» при флажках), и люди могли добавлять больше параметров? Для полного кода, пожалуйста, перейдите по ссылке и просмотрите исходный код: http://joomla.byethost16.com/php.php

спасибо за помощь в этом

1 Ответ

0 голосов
/ 19 декабря 2011

Я решил это, используя $ (this) с привязкой «click» к каждому классу, который находится на кнопках.

другое решение будет использовать плагин, например http://www.mdelrosso.com/sheepit/index.php?lng=en_GB, который очень хорош, но зависит от определенной структуры (вы должны определить индекс в форме, который должен быть обработан при обработке в большинстве случаи, поскольку некоторые index_vars могут быть пропущены пользователем.)

...