Why is this javascript loop for checking checkbox values not working?
The following form submission function in JavaScript will get the first check box value, but will fail to get others. I have tested this numerous ways, and it seems to always have an issue when getting the ".checked" value for the check box the second time.
Javascript:
function checkForm(){ numrows = document.theform.numrows.value; if(numrows == -1) { alert("You do not have any transactions setup yet"); return false; } emailcheckcount = 0; for(i=0; i<=numrows; i++) { var recid = document.forms["theform"]["recid"+i].value; var checkbox = document.getElementById(recid+"_to"+i); if (checkbox.checked) { emailcheckcount++; } } if(emailcheckcount == 0) { alert("Please Select At Least One Email for Alerts"); return false; } document.theform.submit();}
<% numrows = -1 strSQL = "select recid, customer, documenttpid, tolist, cclist, bcclist, receivedvia, addmailout, emailsubject from MailOut where customer like '%"&cname&"%' and (receivedvia = 'email' or addmailout = 'email') and emailsubject <> 'ignore' order by customer, documenttpid;" Set rs = objConnection2.Execute(strSQL, ,adCmdText) if not (rs.eof and rs.bof) Then arr = rs.getrows() numrows = ubound(arr,2) for i=0 to numrows dim tolist dim cclist recid = arr(0,i) customer = arr(1,i) documenttpid = arr(2,i) if not IsNull(arr(3,i)) Then tolist = split(arr(3,i),"|") else tolist = null end if if not IsNull(arr(4,i)) and Len(arr(4,i)) > 0 Then cclist = split(arr(4,i),"|") else cclist = null end if bcclist = arr(5,i) receivedvia = arr(6,i) addmailout = arr(7,i) emailsubject = arr(8,i) %> <tr> <!-- <td valign='top' style="border-bottom:1px solid black;"> <%=customer%></td> <td valign='top' style="border-bottom:1px solid black;"> <%=receivedvia%></td> --> <td valign='top' style="border-bottom:1px solid black;"> <%=documenttpid%></td> <td valign='top' style="border-bottom:1px solid black;"> <input type="hidden" name="recid<%=i%>" value="<%=recid%>"> <%=emailsubject%></td> <td valign='top' style="border-bottom:1px solid black;"> <% emailnum = 0 if not isNULL(tolist) then for each email in tolist if not(isNULL(email) or trim(email)="") Then %> <input type='checkbox' id='<%=recid%>_to<%=emailnum%>' name='<%=recid%>_to<%=emailnum%>'> <%=email%> /<%=recid%>_to<%=emailnum%> <input type='hidden' name='<%=recid%>_to<%=emailnum%>email' value='<%=email%>'><BR> <% end if emailnum = emailnum + 1 next end if %> <input type='hidden' name='numtoemails<%=i%>' value='<%=emailnum%>'> <BR>Add Email:<input type='text' name='addtoemail<%=i%>'></td> <td valign='top' style="border-bottom:1px solid black;"> <% ccnum = 0 if(not isNULL(cclist))then for each email in cclist if trim(email) <> "") = 0 Then %> <input type='checkbox' name='<%=recid%>_cc<%=ccnum%>'> <%=email%> <input type='hidden' name='<%=recid%>_cc<%=ccnum%>email' value='<%=email%>'><BR> <% end if ccnum = ccnum + 1 next end if %> <input type='hidden' name='numccemails<%=i%>' value='<%=ccnum%>'> <BR>Add Email:<input type='text' name='addccemail<%=i%>'></td> </tr> <% next end if %> <input type="hidden" name="numrows" value="<%=numrows%>"> <tr><td align="Right" colspan="4"><input type="button" value="Submit" style="width:70px;" class="btn-primary" onclick="checkForm();"></td></tr>