none
关于document.writeln RRS feed

  • 问题

  • function print1()

    {
        var DataList1="<%= DataList1.ClientID%>";
        var ids=new Array();
        c=document.getElementById(DataList1).getElementsByTagName("input");
        for(i=0;i<c.length;i++)
        {
            if(cIdea.type=="checkbox" && cIdea.checked==true)
            {
                  document.writeln(cIdea.value);测试  只显示第一个,这是怎么回事   

                  alert(cIdea.value);测试 全部能显示    

            }
        }

    2009年1月16日 3:35

答案

  • Code Snippet

     for(i=0;i<c.length;i++)
        {
            if(c.type=="checkbox" && c.checked==true)
            {
                  str+=c.value;

            }
        }
                  document.writeln(str);

     

     

    2009年1月16日 4:58
    版主
  • 显示内容一般都是使用xx.innerHTML="xxx"的。
    2009年1月16日 5:05
    版主
  • 这个方法就是这样的,当页面有内容时,会清空其他的内容。相对于生成了一个新的文档。前面定义的所有东西也就不存在了。执行了一句之后,其他的代码也就不执行了,如果你在write里调用你定义的js方法,也会报告不存在了。

     

    2009年1月17日 12:06
    版主

全部回复

  • Do not use the write method or the writeln method on the current document after the document has finished loading unless you first call the open method, which clears the current document window and erases all variables.

    2009年1月16日 4:50
    版主
  • Code Snippet

     for(i=0;i<c.length;i++)
        {
            if(c.type=="checkbox" && c.checked==true)
            {
                  str+=c.value;

            }
        }
                  document.writeln(str);

     

     

    2009年1月16日 4:58
    版主
  • 显示内容一般都是使用xx.innerHTML="xxx"的。
    2009年1月16日 5:05
    版主
  • 我不是说显示,我是说测试的时候我的document.writeln放在循环里为什么只显示第一个

     

        var DataList1="<%= DataList1.ClientID%>";
        var ids=new Array();
        c=document.getElementById(DataList1).getElementsByTagName("input");
        for(i=0;i<c.length;i++)
        {
            if(cIdea.type=="checkbox" && cIdea.checked==true)
            {
                document.writeln(cIdea.value);   //这里只显示第一个

                alert(cIdea.value);   //能弹出c.length个对话框
                //ids=cIdea.value;
            }
        }

     

    而下边这个却能全部显示,这是什么道理

    for (i = 0; i < 5; i++) {
        document.writeln(i);  //显示了0 1 2 3 4
    }

    2009年1月17日 7:51
  • 这个方法就是这样的,当页面有内容时,会清空其他的内容。相对于生成了一个新的文档。前面定义的所有东西也就不存在了。执行了一句之后,其他的代码也就不执行了,如果你在write里调用你定义的js方法,也会报告不存在了。

     

    2009年1月17日 12:06
    版主