在innerHTML中javascript不能执行,非常奇怪的问题! 在innerHTML中javascript本来就无法执行他是按字符串来处理的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果去掉input控件就可以正常执行了,太奇怪了 <script>function flush() { var obj = document.getElementById('main-content'); obj.innerHTML = "" obj.innerHTML ="aaa<script defer>alert('ssff');<\/script>";}</script><a href="#" onClick="return flush()">#####</a><div id="main-content" class="block"><form name="form2" action="site_gd.php" method="post"><input type="text" name="sf" /></form></div> 这是什么道理?先清空innerHTML就行了谁能说说原理啊 发现一个问题<input type="text" name="sf" />在执行期间其代码为<input name="sf" >然后造成不能alert 了...大家研究研究... 当然不能执行了,直接点的时候,main-content里面是<form name="form2" action="site_gd.php" method="post"><input type="text" name="sf" /></form>这个啊,只有点了input框,main-content里面才变为aaa<script defer>alert('ssff');这时再点连接就能执行alert了 请看我没事时搞的个东西<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2<HTML> 3<HEAD> 4<TITLE> New Document </TITLE> 5<META NAME="Generator" CONTENT="EditPlus"> 6<META NAME="Author" CONTENT=""> 7<META NAME="Keywords" CONTENT=""> 8<META NAME="Description" CONTENT=""> 9<script language="javascript">10 function myTest(d)11 {12 if(!document.getElementById("txt1"))13 {14 var txt = document.createElement("input");15 txt.id = "txt1"16 txt.type = "text";17 txt.value = d.innerHTML;18 d.innerHTML = "";19 var btnSubmit = document.createElement("input");20 btnSubmit.type = "button"21 btnSubmit.id = "btnSubmit";22 btnSubmit.onclick = aaa;23 btnSubmit.value = "修改"24 d.appendChild(txt);25 d.appendChild(btnSubmit);26 } 27 }28 function aaa()29 {30 alert(document.getElementById("txt1").value);31 document.getElementById("test").innerHTML=document.getElementById("txt1").value;32 }33 </script>34</HEAD>3536<BODY>37<form id="Form1" method="post" runat="server">38 <div id="test" style="BORDER-RIGHT: #336699 1px solid; BORDER-TOP: #336699 1px solid; BORDER-LEFT: #336699 1px solid; WIDTH: 400px; BORDER-BOTTOM: #336699 1px solid; HEIGHT: 32px"39 onclick="myTest(this)">ssss</div>40 </form>41</BODY>42</HTML> 创建了1个textbox一个button 点击button时可以调用一个js函数 发现只要有输入框就会出错------www.webchat.com.cn 还是没有结果,大部分贴子都是无果而终。虽然已经结贴,再顶一下。先清空或者去掉<input>就能执行,说明问题在<input>上。到底是什么原因? javascript的颜色函数 iframe里点击一次连接,触发一个事件 js如何获取jsp页面中嵌入的java代码变量? 关闭窗口毁掉session! setAttributeNS和setAttribute有什么区别? 关于屏蔽链接的问题? 用Window.open 的方法打开窗口,怎样能使窗口不可见呢? 关于DTPicker控件!! 菜鸟问题,各位大虾,怎样再web页面中屏蔽鼠标右键 js如何返回数组中相同数和位置!! 正则替换换行的问题 关于弹出窗口设置的问题!
obj.innerHTML = ""
obj.innerHTML ="aaa<script defer>alert('ssff');<\/script>";
}
</script><a href="#" onClick="return flush()">#####</a><div id="main-content" class="block">
<form name="form2" action="site_gd.php" method="post">
<input type="text" name="sf" />
</form>
</div>
先清空innerHTML就行了
谁能说说原理啊
<input name="sf" >然后造成不能alert 了...
大家研究研究...
<form name="form2" action="site_gd.php" method="post">
<input type="text" name="sf" />
</form>
这个啊,只有点了input框,main-content里面才变为aaa<script defer>alert('ssff');
这时再点连接就能执行alert了
2<HTML>
3<HEAD>
4<TITLE> New Document </TITLE>
5<META NAME="Generator" CONTENT="EditPlus">
6<META NAME="Author" CONTENT="">
7<META NAME="Keywords" CONTENT="">
8<META NAME="Description" CONTENT="">
9<script language="javascript">
10 function myTest(d)
11 {
12 if(!document.getElementById("txt1"))
13 {
14 var txt = document.createElement("input");
15 txt.id = "txt1"
16 txt.type = "text";
17 txt.value = d.innerHTML;
18 d.innerHTML = "";
19 var btnSubmit = document.createElement("input");
20 btnSubmit.type = "button"
21 btnSubmit.id = "btnSubmit";
22 btnSubmit.onclick = aaa;
23 btnSubmit.value = "修改"
24 d.appendChild(txt);
25 d.appendChild(btnSubmit);
26 }
27 }
28 function aaa()
29 {
30 alert(document.getElementById("txt1").value);
31 document.getElementById("test").innerHTML=document.getElementById("txt1").value;
32 }
33 </script>
34</HEAD>
35
36<BODY>
37<form id="Form1" method="post" runat="server">
38 <div id="test" style="BORDER-RIGHT: #336699 1px solid; BORDER-TOP: #336699 1px solid; BORDER-LEFT: #336699 1px solid; WIDTH: 400px; BORDER-BOTTOM: #336699 1px solid; HEIGHT: 32px"
39 onclick="myTest(this)">ssss</div>
40 </form>
41</BODY>
42</HTML>
------
www.webchat.com.cn
虽然已经结贴,再顶一下。先清空或者去掉<input>就能执行,说明问题在<input>上。到底是什么原因?