Опечатку исправил, работать отказывается. Оформил кусок кода, для простоты понимания. Первая схема не работает, вторая — работает. <html> <head> <title>блокировки элементов</title> <script type="text/javascript"> function universal_unlock(form_name, src, obj) { // src — имя элемента, клик по которому изменяет свойство disabled элемента с именем obj if (form_name.src.checked) form_name.obj.disabled = 0 // В противном случае вновь блокируем кнопку else form_name.obj.disabled = 1 } function unlock(form_name) { // Если поставлен флажок, снимаем блокирование кнопки if (form_name.option.checked) form_name.txt.disabled = 0 // В противном случае вновь блокируем кнопку else form_name.txt.disabled = 1 } </script> </head> <body> <form name="form1"> <input type="checkbox" name="option" onclick="universal_unlock(form1, option, txt)"/> <input type="text" name="txt" disabled="1"/> </form> <form name="form2"> <input type="checkbox" name="option" onclick="unlock(form2)"/> <input type="text" name="txt" disabled="1"/> </form> </body> </html> Насколько я могу себе представить причина в необходимости дать понять скрипту, что значение переменных src и obj — текстовые. А вот как это сделать?