Hmm.. You may have a problem with your field names.
This looked interesting to me so worked something up for this function.
Enjoy!
PHP Code:
<script language="JavaScript1.2">
function disable(r){
var frm = document.myform;
var condition = new Array();
var results = new Array();
// set conditions needed to disable form elements ( as many as needed )
condition[0] = "frm.field1.checked && frm.field2.checked";
condition[1] = "frm.field2.checked && frm.field3.checked";
condition[2] = "frm.field3.checked && frm.text3.value == 'lock'"; // a little different ex.
results[0] = "select1,text1"; // items to disable based on condition[0]
results[1] = "text2,field1"; // items to disable based on condition[1]
results[2] = "text1,text3,select1"; // items to disable based on condition[2]
for (var i=0; i<condition.length; i++)
if(eval(condition[i])) var k = i; // locate the first condition that returns true
for (var i=0; i<frm.elements.length; i++) { // loop through the form elements
frm.elements[i].disabled = false // reset all
if(k != null && eval(condition[k]) && !r){
disable_fields = results[k].split(","); // find elements to disable
for (var j=0; j<disable_fields.length; j++)
if(frm.elements[i].name == disable_fields[j]) frm.elements[i].disabled = true
**
**
**
</script>
<form name=myform action="/" method="post">
<select name=select1>
<option value=1>opt 1
<option value=2>opt 2</select> select <br>
<input type=text name=text1 value=textbox1> text1<br>
<input type=text name=text2 value=textbox2> text2<br>
<input type=text name=text3 value=textbox3 onkeyup="disable()"> text3<br>
<input type=checkbox name=field1 value=1 onclick="disable()"> field 1<br>
<input type=checkbox name=field2 value=1 onclick="disable()"> field 2<br>
<input type=checkbox name=field3 value=1 onclick="disable()"> field 3<br>
<a href=# onClick="disable('reset')">enable all</a>
</form>
<edit> Just a note, but the
disable attribute is not available in NS 4.xx. Most other browsers support it though!