> Почему ... addcol1 (name=addcol1) РАБОТАЕТ, а addcol[1] (name=addcol[1]) нет
потому что квадратные скобки в JS используются для обращения к свойству объекта; вот и пытается движок вхождение
addcol[1] распознать, как
свойство 1 объекта
addcol. Т.к. у вас нет объекта addcol, то и выдается соответствующая ошибка.
> eval(addcol[1])
не нужен здесь eval; если все-таки интересуют имена с квадратными скобками, то используйте кавычки:
document.forms['frm'].elements['addcol[1]'].value