随笔-50  评论-55  文章-8  trackbacks-0
    最近很困惑,我动态生成javaScript代码,结果不能,执行,不知道有何良方:
下面是简单的个文件代码,高手一定要指教下啊;
1、index.html
<html>
<head>
<script src="main.js"></script>
</head>
<body>
<h1>Test JavaScript</h1>
<input  type="button" value="Load script" onclick="loadScript();">
</input>
<br/>
<br/>
 <div id="result">result will show here...</div>
</body>
</html>
2 main.js
function loadScript(){
 var element=document.getElementById("result");
 var line0="<div>The result is:"
 var line1="<script>";
 var line2="document.write('successful');";
 var line3="</script>";
 var line4="</div>"
 var context=line0+line1+line2+line3+line4;
 alert("element step1:"+element.innerHTML);
 alert("context:"+context);
    element.innerHTML=context;
 alert("element step2:"+element.innerHTML);
}
就上面的代码:document.write('successful');没有被执行;而且,我如果把
 var line1="<script>";写成 var line1="<script type='text/javascript'>";
则alert出来的是:<script type=text/javascript> 注意type单引号没了。
posted on 2007-09-14 10:44 蒋家狂潮 阅读(2633) 评论(4)  编辑  收藏 所属分类: JWeb

评论:
# re: 动态生成javaScript代码的执行问题 2007-09-14 18:06 | jhlcss
你用innerHTML当然是不行的,document.write(context) 就可以了  回复  更多评论
  
# re: 动态生成javaScript代码的执行问题 2007-09-14 21:14 | 蒋家狂潮
这样的话,只能新开一个页面了;  回复  更多评论
  
# re: 动态生成javaScript代码的执行问题 2007-09-16 01:09 | sinoly
document.wirte()可以
  回复  更多评论
  
# re: 动态生成javaScript代码的执行问题 2007-09-17 22:53 | Tiger F
已经在用script修改页面的内容了,为什么不把success直接写在innerHTML中还要再用另一段script输出?直接写成下面的样子不是很简单?

unction loadScript(){
var element=document.getElementById("result");
element.innerHTML="The result is: Successful";
}  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问