显示部分:
document.write("您的姓名:"+name+" <br >"); 
document.write("您具有:"+document.register.edu[i].value+"学历"); 
不能显示第二个学历部分。
但是如果把第二个加到第一个上:
document.write("您的姓名:"+name+" <br >"+"您具有:"+document.register.edu[i].value+"学历");
这样就能完成显示。为什么呢?? 

解决方案 »

  1.   

    楼主的2种写法我这里都报错
    试试看下面的
    if (document.register.edu[i].checked) 

    document.write("您的姓名:"+name+" <br >"); 
    document.write("您具有:"+document.register.edu[i].value+"学历"); 
    break; 

    改成
    if (document.register.edu[i].checked) 

    var str=document.register.edu[i].value;
    document.write("您的姓名:"+name+" <br >"); 
    document.write("您具有:"+str+"学历"); 
    return true; 

      

  2.   

    调用document.write方法页面上的元素将会消失,最好将要写的代码放到字符串里最后用一次性将字符写出
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    <title>无标题文档 </title> 
    <script language="JavaScript"> 
    function check() 

    var name=document.register.user.value;
    var strHTML="";
    if (name!="") { 
    for (var i=0;i <document.register.edu.length;i++) {
    if (document.register.edu[i].checked) {
    strHTML+="您的姓名:"+name+" <br>"; 
    strHTML+="您具有:"+document.register.edu[i].value+"学历";
    document.write(strHTML); 
    break; 



    if (i==document.register.edu.length) 
    alert("必须选取学历"); 

    else { 
    alert("姓名不能为空!"); 


    </script> 
    </head> <body> 
    <form name="register"> 
    <h2>简单信息 </h2> 
    姓名 <font color="#FF0000">* </font> <input type="text" name="user"> <br> 
    学历 <input type="radio" name="edu" value="大专">大专 
    <input type="radio" name="edu" value="学士">理学学士 
    <input type="radio" name="edu" value="硕士">理学硕士 <br> 
    <input type="button" name="disp" value="显示" onClick="check()"> 
    </form> 
    </body> 
    </html>
      

  3.   

    哦。我懂了!调用document.write方法页面上的元素消失,自然document.register.edu[i].value这个元素值也就没有了。所以要先用字符串代替。 谢谢!