I currently have 4 textboxes, 1 checkbox and a dropdownlist. I am attempting to disable the textboexes and dropdownlist upon
the checkbox being checked. My current code does not work, but I can’t seem to find the error in it. I am new to using JavaScript.
function enableCheckBox(phyAddressCheckBox, tb1, tb2, tb3, file1, tb4)
{
if (document.getElementById(phyAddressCheckBox).checked)
{
document.getElementById('tb1').enabled = true;
document.getElementById(tb2).enabled = true;
document.getElementById(tb3).enabled = true;
document.getElementById(file1).enabled = true;
document.getElementById(tb4).enabled = true;
}
else
{
document.getElementById(tb1).enabled = false;
document.getElementById(tb2).enabled = false
document.getElementById(tb3).enabled = false;
document.getElementById(file1).enabled = false;
document.getElementById(tb4).enabled = false;
}
}
edit
I set all property to disabled on both conditions and nothing works.
<script type="text/javascript" language="javascript">
function enableCheckBox(phyAddressCheckBox, tb1, tb2, tb3, file1, tb4)
{
if (document.getElementById(phyAddressCheckBox).checked)
{
document.getElementById('tb1').disabled = 'disabled';
document.getElementById(tb2).disabled = 'disabled';
document.getElementById(tb3).disabled = 'disabled';
document.getElementById(file1).disabled = 'disabled';
document.getElementById(tb4).disabled = 'disabled';
}
else
{
document.getElementById(tb1).disabled = 'disabled';
document.getElementById(tb2).disabled = 'disabled';
document.getElementById(tb3).disabled = 'disabled';
document.getElementById(file1).disabled = 'disabled';
document.getElementById(tb4).disabled = 'disabled';
}
}
</script>
I also added in the control code.
<asp:CheckBox ID="phyAddressCheckBox" runat="server" onclick="enableCheckBox(this.ID, physicalAddressTextbox, PhysicalAddress2Textbox, CityTextbox, physicalStateDropDownList,physicalZipTextbox)" style="text-align: left" />
I disagree with the people telling you to use
disabled='disabled'The disabled property on input elements takes a boolean, unlike the HTML attribute. https://developer.mozilla.org/en/DOM/HTMLInputElementFrom the names of the variables you’re passing into
enableCheckBox, it looks like you’re passing DOM nodes instead of ids.Another problem is that you’re passing
this.ID, you should be passingthis.id. Even better, just pass the element itself. See this example http://jsfiddle.net/mendesjuan/7ZEvk/2/The last problem (in initial example) was that you were trying to set an
enabledproperty, but that doesn’t exist. You have to set thedisabledproperty.HTML
JavaScript