[thelist] IE javascript question

Eduardo Kienetz eduardok at gmail.com
Mon Jul 2 09:04:56 CDT 2007


Hi ppl :)

I came across a problem in IE which makes the javascript that follows
not to work properly.

In my form I have this button:
<input type="submit" name="submit2" value="ADD" class="formbranco"
onClick="return verificaMarcacao('Please select at least one
item!');">

Which when clicked should check if at least one checkbox is checked,
using this javascript function:

function verificaMarcacao(msg){
   var i,tmp,ind,txt,sel;
   sel = document.getElementById('amostra').selectedIndex;
   for(i=0;i<examesmats[sel].length;i++){
      tmp = document.getElementById(examesmats[sel][i]);
      if(tmp.childNodes[0].childNodes[1].checked) return true;
   }
   alert(msg);
   return false;
}

I'm guessing this has something to do with childNodes, but I was
unable to confirm (much less to tell why).

And, before someone asks, I'm passing the message as a parameter
because this javascript is static (on a .js file), but the message is
internationalized. So, that means the form could have this (which
doesn't matter to solve the problem):
<input type="submit" name="submit2" value="ADD" class="formbranco"
onClick="return verificaMarcacao('Por favor selecione pelo menos um
ítem!');">

Now, what happens is that even selecting a checkbox Internet Explorer
shows the message.
The item to be checked looks like this:
<div id="EX_AATD" class="hiding"><label> <input type="checkbox"
name="EX_AATD">Item 1</label></div>

This DIV is what I get from: tmp = document.getElementById(examesmats[sel][i]);
Thus, explaining my use of childNodes[0] and then [1]

Should I use getElementByName? Is it okay (not deprecated, etc) ?

Thank you in advance,

-- 
Eduardo Bacchi Kienetz
LPI Certified - Level 2
http://www.noticiaslinux.com.br/eduardo/



More information about the thelist mailing list