-5

これがコードです

<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を使用してロードした場合、このコードは空白で表示されます。理由がわかりますか?

4

2 に答える 2

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>');
于 2012-05-10T03:55:57.137 に答える
1

上の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>);

文字列ではありません。文字列内の引用符はエスケープする必要があります。最終的には次のようになります。

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>");
于 2012-05-10T03:55:09.927 に答える