2012-05-10 200 views
-4

下面是代码此代码不打印。为什么?

<html> 
    <head> 
     <script language="JavaScript"> 
     <!-- 
      function myFunc() { 
      var doc = parent.frames[1].document; 
      doc.open(); 
      doc.write(<html><body class="dialogBody"><form><table width="100%"><tr class="colHeader" width="100%"><td align=left valign=middle>&nbsp;</td><td height=20px align=left valign=middle>Cell2</td></tr><tr class=normalRow><td width=20 height=20px align=left valign=middle><input type=radio height=12px width=12px align =center vlign=middle name='select' value=0/></td><td height=20px align=left valign=middle>Ed</td></tr><tr class=altRow><td width=20 height=20px align=left valign=middle><input type=radio height=12px width=12px align =center vlign=middle name='select' value=1/></td><td height=20px align=left valign=middle>Ed2</td></tr></table></form></body></html>); 
      doc.close(); 
      } 
      var topFrame = "<a href='#' " +"onClick='parent.myFunc()'>Click me</a>"; 
      var botFrame = ""; 
      myFunc(); 
     //--> 
     </script> 
    </head> 
    <frameset rows="50%,*"> 
    <frame src="javascript:parent.topFrame"><input type="button" value="Click me!" onclick="myFunc()" /></frame> 
    <frame src="javascript:parent.botFrame"> 
    </frameset> 

</html> 

在使用Safari或Firefox加载该代码显示为空白。你能猜出原因吗?

+0

我想我不知道。 – DarthVader

+0

语言属性已被弃用多年,类型是必需的。此外,摆脱脚本元素内的HTML注释分隔符,它们没有实际用途。 – RobG

回答

4

把它包在引号和应工作:

doc.write('<html><body class="dialogBody"><form><table width="100%"><tr class="colHeader" width="100%"><td align=left valign=middle>&nbsp;</td><td height=20px align=left valign=middle>Cell2</td></tr><tr class=normalRow><td width=20 height=20px align=left valign=middle><input type=radio height=12px width=12px align =center vlign=middle name=\'select\' value=0/></td><td height=20px align=left valign=middle>Ed</td></tr><tr class=altRow><td width=20 height=20px align=left valign=middle><input type=radio height=12px width=12px align =center vlign=middle name=\'select\' value=1/></td><td height=20px align=left valign=middle>Ed2</td></tr></table></form></body></html>'); 
1

doc.write(<html><body class="dialogBody"><form><table width="100%"><tr class="colHeader" width="100%"><td align=left valign=middle>&nbsp;</td><td height=20px align=left valign=middle>Cell2</td></tr><tr class=normalRow><td width=20 height=20px align=left valign=middle><input type=radio height=12px width=12px align =center vlign=middle name='select' value=0/></td><td height=20px align=left valign=middle>Ed</td></tr><tr class=altRow><td width=20 height=20px align=left valign=middle><input type=radio height=12px width=12px align =center vlign=middle name='select' value=1/></td><td height=20px align=left valign=middle>Ed2</td></tr></table></form></body></html>); 

的HTML是不是一个字符串。字符串内的引号需要被转义。它最终会看起来像这样:

doc.write("<html><body class=\"dialogBody\"><form><table width=\"100%\"><tr class=\"colHeader\" width="100%"><td align=left valign=middle>&nbsp;</td><td height=20px align=left valign=middle>Cell2</td></tr><tr class=normalRow><td width=20 height=20px align=left valign=middle><input type=radio height=12px width=12px align =center vlign=middle name='select' value=0/></td><td height=20px align=left valign=middle>Ed</td></tr><tr class=altRow><td width=20 height=20px align=left valign=middle><input type=radio height=12px width=12px align =center vlign=middle name='select' value=1/></td><td height=20px align=left valign=middle>Ed2</td></tr></table></form></body></html>"); 
+2

不要downvote这个答案,这是正确的。 – Blender

+0

即使我在上面的html中使用“”,我仍然没有得到任何东西 – Vibhor

+1

因为您使用了多种报价类型。退出报价。 – Blender

相关问题