You should not use the write or writeln methods on the current document after the document has finished loading unless you first call the open method, which clears the current document's window and erases all variables.所以你要输出ck1、ck2、ck3、ck4,要么用dhtm来appendChild,要么用form的post参数
用document.write不行的。因为现在的document和原来的不一样了。所以会出错

解决方案 »

  1.   

    <span id=msgSpan></span>function getvalue(){
        var ouputStr = "";
        for(var i=1;i<=4;i++){
            ouputStr += form1.elements["ck"+i].value ;
        }
        var elMsg = window.document.getElementById("msgSpan");
        elMsg.innerHTML=ouputStr;
    }
      

  2.   

    That is OK:
     <script language="javascript">
      function getvalue(){
        for(var i=1;i<=4;i++){
     //alert(form1.elements["ck"+i].value);
       document.all.div1.innerHTML+=form1.elements["ck"+i].value+"<Br>"
     //document.write(form1.elements["ck"+i].value);
    }
      }
      </script>
    <form name="form1" ID=Form1>
     <INPUT TYPE="checkbox" NAME="ck1" value="ck1" ID=Checkbox1>
     <INPUT TYPE="checkbox" NAME="ck2" value="ck2" ID=Checkbox2>
     <INPUT TYPE="checkbox" NAME="ck3" value="ck3" ID=Checkbox3>
     <INPUT TYPE="checkbox" NAME="ck4" value="ck4" ID=Checkbox4>
     <INPUT TYPE="button" name="cChick" onClick="getvalue()" ID=Submit1>
    </form>
    <div id="div1"></div>
      

  3.   

    多谢:sdsuper(泊舟)
          laochake(老茶客)
          clare2003(忘情火)
    三人的回答,之前我也想到用
    function getvalue(){
        var str= "";
        for(var i=1;i<=4;i++){
            ouputStr += form1.elements["ck"+i].value ;
        }
        document.write(str);
    }
    可以实现,就是不知道为什么 document.write 写在循环里面不行,现在得到三位的加答后,知道了,多谢~
      

  4.   

    打错了
    ouputStr += form1.elements["ck"+i].value ; 
    改成 
    str + = form1.elements["ck"+i].value;