Программирование > JavaScript & JScript

переделать функцию

(1/1)

:
Есть функция которая выбирает из группы chekbox`ов отмеченные и вставляет их значение в textarea:

function selectrowsfrom(table,inform)
{
  var selectrows = \'\';
  for (i = 0; i < document.forms[inform].fields.length; i++)
  {
    if (document.forms[inform].fields.checked == true)
    {
      selectrows = selectrows+document.forms[inform].fields.value+\',\\n\\t\';
    }
  }
  if (selectrows == \'\') {selectrows = "*";}
  else
  {selectrows = selectrows.substring(0, selectrows.length-3);}
  if (!document.forms[inform].fields.length) {selectrows = document.forms[inform].fields.value;}
  document.queryform.sqlquery.value = \'SELECT\\t\'+selectrows+\'\\nFROM \'+table;
}

Функция работает, если name чекбоксов = fields ( )

ВОПРОС: Как бы переделать функцию, чтобы она работала если имена чекбоксов будут
name01[1]  name01[2] ... name02[1]  name02[2] ... name20[1] ... а не просто fields?

Спасибо за помощь

Evgeny:
Делаешь это в цикле, в котором генерируешь имена name01, name02 ..., а потом используешь eval.

Например.
Раньше было:

--- Код: ---
if (document.forms[inform].fields[i].checked == true)
{   selectrows = selectrows+document.forms[inform].fields[i].value+\',\\n\\t\';
}

--- Конец кода ---


Теперь:

--- Код: ---
eval(\'tempbool=document.forms[inform].name\'+k+\'.fields[i].checked\');
if (tempbool == true)
{   eval("selectrows = selectrows+document.forms[inform].name"+k+".fields[i].value+\',\\n\\t\'");
}

--- Конец кода ---


k - индекс имён.

:
а как имена сгенерировать.. например если так их и назвать name01 name02 name03...?

Навигация

[0] Главная страница сообщений

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 
Перейти к полной версии