Вам нужно передать строку в вашу функцию disablefield
, поэтому ставьте значение в кавычки, когда передаете его. Что-то вроде:
<input onclick="disablefield('2671997')" />
Это потому, что document.getElementById
ожидает строку, а не целое число.
Во-вторых, чтобы включить / отключить поле, вам нужно использовать disabled = true;
вместо = 'disabled'
.
document.dupedit.lineid
ищетдля поля с именем "lineid", которого нет в вашей форме.Я бы предложил присвоить этому полю id
и снова использовать document.getElementById
.
Если вы хотите продолжить использовать атрибут name
, вам придется использовать document.getElementsByName
вместо этого.Это возвращает массив совпадающих элементов (поскольку несколько элементов могут иметь одно и то же имя), но если в своем коде вы знаете, что рассматриваемый элемент является единственным с этим именем, вы можете сделать это:
document.getElementsByName(lineid)[0].disabled = true;
Вы можете увидеть рабочую версию (я думаю, что именно так вы и хотели) здесь .И здесь - версия, использующая getElementsByName
.