2012-05-10 14 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> 

サファリまたはFirefoxを使用してロードされたこのコードであるブランク示します。なぜでしょうか?

+0

私が知らないと思います。 – DarthVader

+0

language属性は何年も使用されなくなりましたが、typeは必須です。また、スクリプト要素内の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

関連する問題