【发布时间】:2012-09-19 13:24:38
【问题描述】:
我是 javascript 的新手。正如标题所说,我正在尝试从另一个 javascript 函数生成的 html 调用 javascript 函数。以下是此代码的简单版本:
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
function myFunction1()
{
var html_text = "<HTML><BODY><FORM><INPUT type=\"button\" onClick=
\"myFunction2()\" value=\"function2\" /></FORM></BODY></HTML>";
document.write(html_text);
document.close();
}
function myFunction2()
{
alert("function2 called!");
}
</SCRIPT>
</HEAD>
<BODY>
<FORM><INPUT type="button" onClick="myFunction1()" value="function1"
/></FORM>
</BODY>
</HTML>
当我运行 firebug 时,我收到一条错误消息,提示“myFunction2 is not defined”。我想我必须将 myFunction2 放入由 myFunction1 生成的 html 代码中。所以我改变了我的代码:
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
function myFunction1()
{
var html_text = "<HTML><HEAD><SCRIPT language=\"JavaScript
\">function myFunction2(){alert(\"function2 called!\");}
</SCRIPT></HEAD><BODY><FORM><INPUT type=\"button\" onClick=\"myFunction2()\"
value=\"function2\" /></FORM></BODY></HTML>";
document.write(html_text);
document.close();
}
/* function myFunction2()
{
alert("function2 called!");
} */
</SCRIPT>
</HEAD>
<BODY>
<FORM><INPUT type="button" onClick="myFunction1()" value="function1"
/></FORM>
</BODY>
</HTML>
但是,在此更改之后,我得到了一些混乱的结果,并且萤火虫说“var html_text=...的未终止字符串文字”。有什么建议? 还有,我实际的myFunction2真的很大,如果非要插入到myFunction1生成的html中,有没有好办法放进去?此外,讲师不希望我们使用单独的文件。谢谢!
【问题讨论】:
-
你不能在 "-strings 中使用 ",对于 ' 也是如此。您需要转义字符串中的引号。
-
页面渲染后不能使用 document.write
标签: javascript