Bill W was generous enough to get me this far but I am still having problems finishing this one up! <BR><BR>This form generates dynamically from a db several rows in a tabular format. So each row that is generated has a checkbox, and has a textfield which is for the approvername, along with other fields that don&#039t need any validation. The validation comes in where, the user clicks "submit", for each row that the user has checked the checkbox, the approvername field cannot be blank. <BR><BR>The form name is called addroleapp, the checkbox name is checkbox_, the approvername field is approvername_, and the counter field is a hidden field called hCount. Here is the javascript code thus far. This DOES work when a checkbox is checked, however when there are no checkboxes checked and the form is submitted, it errors out saying the "cb.checked" is not an object. Or when the row has the checkbox checked and has the approvername filled in, same error. The last two lines of the script are unrelated to this, they change some hidden values, but must run everytime after the validation because the last line is actually doing the form submit. This script is run by the onClick event.<BR><BR><BR>&#060;script language="JavaScript"&#062;<BR>function AddData()<BR>{<BR> var theForm = document.addroleapp;<BR> for(var cbNum = 1; cbNum &#060;=document.addroleapp.hCount.value; ++cbNum)<BR> {<BR> cb = eval("document.addroleapp.checkbox_" + cbNum);<BR> if (cb.checked==true)<BR> {<BR> tb = eval("document.addroleapp.approvername_" + cbNum);<BR> if (tb.value.length=="")<BR> {<BR> alert("You must enter an Approver Name for this checked row "+cbNum);<BR> return false;<BR> }<BR> }<BR> }<BR> <BR> document.addroleapp.hAction.value = "ADD"<BR> document.addroleapp.submit();<BR>}<BR>&#060;/script&#062;<BR><BR>Thanks!!<BR>