日期:2014-05-16  浏览次数:20321 次

javascript 的radio验证问题
<script language="javascript">
function validate () {
   
  if (document.form1.age[0].value = true) {
  alert("对不起,您未满18岁,没有权利投票!");
return true;
  }
  else if(document.form1.age[1].value = true) {
  alert("请慎重投下您宝贵的一票!");
return true;
  }
 
  return true;  
}
</script>



<h1 align="center">第三题</h1>
<form name="form1" method="post" onsubmit="return validate();">
请选择年龄:
<input type="radio" name="age" value="option1" />年龄小于18岁
<input type="radio" name="age" value="option2" />年龄大于等于18岁
<br />
<input type="reset" value="重填" />
<input type="submit" value="提交" />
</form>

请教各位大侠,我想实现选择option1的时候显示:“对不起,您未满18岁,没有权利投票!”,在选择option2的时候显示:“请慎重投下您宝贵的一票”,可是弄来弄去都只是显示option1的内容,无法显示option2的内容,这是为什么呢?
现在对javascript可以说是一点都不了解的,只是边看书边学着做的....

------解决方案--------------------
楼主请看你的代码:
if (document.form1.age[0].value = true) { //应该是if (document.form1.age[0].value == "option1")
document.form1.age[0].value 原来值是"option1",将true赋值给document.form1.age[0],document.form1.age[0].value的值为true。而在执行document.form1.age[0].value = true这条语句的时候,返回的结果始终是true,所以不管怎么运行,都会进入第一个if,而不执行else if后面的条件判断。