在我的代码中获得一些异常

时间:2009-10-15 13:29:50

标签: javascript execution

我打开一个空白窗口,在新窗口上写一个javascript来提交表格。

当我执行一行“newWindow.document.write(newwdtxt2); \ n \”(从最后一行开始)时,我得到一个异常,最后两行不执行。 下面提到的是我的代码

function openWindow(url,name,options) {
       var aToken = ""; 
       aToken ="2121225434349231132674638921:SUPER.SUPER"; 
       if(aToken=="") { 
       aToken=document.formEMS.AUTHTOKEN.value; }
       var newWindow = window.open("", name); 
       if (!newWindow) return false; 
       var newwdtxt = ""; 
       newwdtxt += "<html><head></head>\n"; 
       newwdtxt += "<body>\n"; 
       newwdtxt += "<form name=\"eventForm\" method=\"post\" action="+url+ ">\n"; 
       newwdtxt += "<input type=\"hidden\" name=\"AUTHTOKEN\"";
       newwdtxt += "value= '";newwdtxt += aToken+"'/>\n"; 
       newwdtxt += "</form>\n"; 
       newwdtxt += "<scr"; 
       var newwdtxt1 = ""; 
       newwdtxt1 += "ipt type=\"text/javascript\" language=\"javascript\">\n"; 
       newwdtxt1 += "window.onLoad=document.eventForm.submit();\n"; 
       newwdtxt1 += "</scr"; 
       var newwdtxt2 = ""; 
       newwdtxt2 += "ipt>\n"; 
       newwdtxt2 += "</body></html>\n"; 
       newWindow.document.write(newwdtxt);
       alert(newwdtxt); 
       newWindow.document.write(newwdtxt1);
       alert(newwdtxt1); 
       alert(newwdtxt2); 
       newWindow.document.write(newwdtxt2);
       alert('wrote newwdtxt2'); 
       return newWindow; } 

请帮我弄清问题是什么?

4 个答案:

答案 0 :(得分:2)

你应该看一下:http://getfirebug.com/

答案 1 :(得分:1)

  1. Javascript支持多行字符串:
  2.     var doc = '<html>\
        <head>\
        </head>\
        <body>\
        </body>\
        </html>';
    
    1. 写完整标签(这是你问题的根源):document.write('&lt; / scr'+'ipt&gt;');工作正常
    2. 使用firebug控制台更轻松地进行javascript调试

答案 2 :(得分:1)

这会产生语法异常。试试这个:

   newWindow.document.write(newwdtxt+newwdtxt1+newwdtxt2);

答案 3 :(得分:0)

我相信当你做一个document.write时,浏览器会解析你写入DOM节点的html。在您的代码中,您正在编写不完整的HTML,因此在解析它时会出错。试着把“ipt&gt;”到'newwdtxt1'的末尾而不是现在的位置。