一段JS在火狐的怪问题
- HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><script type="text/javascript">function selNum(Form,idname){var nn = 0;for(var i=0; i<Form.elements.length; i++){ if(Form.elements[i].name == idname){ if(Form.elements[i].checked){ nn++; } } } return nn;}function Test(){ num=selNum(form1,"id"); alert(num);}</script></head><body><form name="form1" method="post" action=""><%for i = 0 to 10%><input name="id" type="checkbox" id="id" value="<%=i%>" /><%next%><input type="button" name="s" value="测试" onclick="javascript:Test();" /></form></body></html>在IE里可以执行 火狐就不可以,当我把JS代码不放在HEAD之间而放到最上面的时候 火狐也可以了 是什么原因??
[解决办法]
num=selNum(document.form1,"id");
[解决办法]
你的function Test(){ num=selNum(form1,"id"); alert(num); }
传递form1要用标准的方法,例如把你的form1改为document.getElementById('form1')或document.getElementByName('form1')[0]或document.forms['form1']等还有好些方法。
[解决办法]
- HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><script type="text/javascript">function selNum(Form,idname){var nn = 0;for(var i=0; i<Form.elements.length; i++){ if(Form.elements[i].name == idname){ if(Form.elements[i].checked){ nn++; } } } return nn;}function Test(){ num=selNum(document.form1,"id"); alert(num);}</script></head><body><form name="form1" method="post" action=""><%for i = 0 to 10%><input name="id" type="checkbox" id="id" value="<%=i%>" /><%next%><input type="button" name="s" value="测试" onclick="javascript:Test();" /></form></body></html>