I have an aspx page that uses a master page. On this page I have a group of radio buttons. I need to get at the checked property for each of the elements in the radio button group in javascript. Before the page was converted to use a master page, the following javascript code worked just fine:
if((!f.rblRegUseVehicles[0].checked) && (!f.rblRegUseVehicles[1].checked)) { isValid = 'false'; }
f is the reference to the form. This worked just fine.
When the page was chanded to use a Master Page, I changed the javascript to the following:
if((!f.<%=rblRegUseVehicles.ClientID%>[0].checked) && (!f.<%=rblRegUseVehicles.ClientID%>[1].checked)) { isValid = 'false'; }
Now, the javascript is failing because it can’t find the element. In the ‘View Source’ I have elements with the name:
<input id='ctl00_cphContent_rblRegUseVehicles_0' type='radio' name='ctl00$cphContent$rblRegUseVehicles' value='Yes' /> <input id='ctl00_cphContent_rblRegUseVehicles_1' type='radio' name='ctl00$cphContent$rblRegUseVehicles' value='No' />
The only code that works is
document.<%=Form.ClientID%>.<%=rblRegUseVehicles.ClientID%>_0.checked
I want the javascript to reference the array like before the page was converted to use a Master Page. How can I do that?
If you want to explore the idea of using jQuery rather than straight javascript, this should do the trick for you.
The selector gets all checked radiobuttons who’s id contains ‘rblRegUseVehicles’.
Edit
If you want to stick with your original script,using UniqueID rather than ClientID may work