在innerHTML中javascript本来就无法执行
他是按字符串来处理的

解决方案 »

  1.   

    如果去掉input控件就可以正常执行了,太奇怪了
      

  2.   

    <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>
      

  3.   

    这是什么道理?
    先清空innerHTML就行了
    谁能说说原理啊
      

  4.   

    发现一个问题<input type="text" name="sf" />在执行期间其代码为
    <input name="sf" >然后造成不能alert 了...
    大家研究研究...
      

  5.   

    当然不能执行了,直接点的时候,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了
      

  6.   

    请看我没事时搞的个东西<!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>
    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>
      

  7.   

    创建了1个textbox一个button 点击button时可以调用一个js函数
      

  8.   

    发现只要有输入框就会出错
    ------
    www.webchat.com.cn
      

  9.   

    还是没有结果,大部分贴子都是无果而终。
    虽然已经结贴,再顶一下。先清空或者去掉<input>就能执行,说明问题在<input>上。到底是什么原因?