我是javascript中的新手。正如标题所说,我试图从另一个javascript函数生成的html中调用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>
当我运行萤火虫时,出现错误提示“myFunction2未定义”。我想我必须把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>
但是,这种变化后,我得到了一些凌乱的结果和萤火虫说:“未终止的字符串字面HTML_TEXT变种= ...”。有什么建议么? 另外,我的实际myFunction2真的很大,如果我不得不将它插入到myFunction1生成的html中,是否有一种很好的方法来放置它?另外,教师不希望我们使用单独的文件。谢谢!
[您不能在javascript中使用''](http://www.wwco.com/~wls/blog/2007/04/25/using-script-in-a-javascript-文字/)。 – jbabey
你不能使用“内部”字符串,并且'相同'。您需要转义字符串内的引号。 –
你可能不会在页面渲染后使用document.write – mplungjan