Проблема такая: есть форма, на ней есть 18 чекбоксов и соответствующие им textfield. Нужно при выключении чекбокса выключать и соотв. текстовое поле. (в дельфи это было свойство .enabled) а как на яваскрипте реализовать?
Код (Text): select_all_status = true; function select_all(elements_name){ var el = document.getElementsByName(elements_name); for (i = 0; i< el.length; i++){ el[i].checked = select_all_status; } select_all_status = !select_all_status; } У всех checkbox'ов должно быть одно имя, value соответственно разные
А.. это что бы все чекбоксы отметить или снять А вообще document.getElementById('id').enabled = true/false; Работает для всех input/button/textarea
то есть if checkbox1.checked=true {document.textarea1.enabled= true}; и if checkbox1.checked=false {document.textarea1.enabled= falce};
В принципе, так. Только надо еще к событию привязать. Типа: Код (Text): <input type=checkbox id=chkbox1 onClick="document.textarea1.enabled = document.chkbox1.checked"> или даже вот так попробуйте... Не уверен, но проверить сейчас не могу... Код (Text): <input type=checkbox id=chkbox1 onClick="document.textarea1.enabled = this.checked"> 2 Psih: а обязательно использовать getElementsById? Как в примере выше тоже работает же ж... :-?
Воо.. сам допер... Если кому нужно код: Код (Text): <form name="foo" action="" method="post"> <input name="tok1" type="checkbox" value="ON" onclick="check1();"> <input name="tok2" type="text" value="" onclick=""> <SCRIPT LANGUAGE="JavaScript"> function check1() { if (eval("document.foo.tok1.checked") == true) { document.foo.tok2.disabled = false; } else { document.foo.tok2.disabled = true; } } </script> </form>
Работает конечно, но это устаревший способ. К тому же getElementById 100% совместим со всеми браузерами (это чаcть DOM была, не?) да и просто удобнее