把单引号都用\进行转义
msg.innerHTML +="<form id=\'form2\'><input type=\'button\' value=\'getValue\' onClick=\'getValue("+feature+");\'/></form>";

解决方案 »

  1.   


    msg.innerHTML +="<form id='form2'><input type='button' value='getValue' onClick='getValue(feature);'/></form>";傳對象的話直接這麽寫就可以了吧
      

  2.   

    这样子是可以的!msg不能在另外一个form里面<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD> <BODY>
     
     <div id="msg"></div>
     
     </BODY>
     <script>
     document.getElementById("msg").innerHTML ="<form ><input type=\"button\" value=\"getValue\"/></form>";
     </script>
    </HTML>
      

  3.   

    我也试过了,不行。
    看一眼生成的html就大概明白了。
    生成后为 onClick='getValue([object object])'如果是字符串"aaaaa": onClick='getValue(aaaaa)'那么aaaaa当然就找不到了。不知道谁有没有解决过这类问题
      

  4.   

    to jol_boy:不是动态生成html的问题,是传值的问题。要传字符串的话多加个“”就可以了。
    但是传对象好像比较难。
      

  5.   

    这种可以!!<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD> <BODY>
     
     <div id="msg"></div>
     <input id="a1" value="123"/>
     </BODY>
     <script>var feature=document.getElementById("a1"); document.getElementById("msg").innerHTML ="<form ><input type=\"button\" value=\"getValue\" onclick=\"getValue(feature)\"/></form>"; function getValue(obj)
     {
    alert(obj.value);
     }
     </script>
    </HTML>
      

  6.   

    to jol_boy:
    生成的html是onclick = getValue(feature)但是feature又不是个全局对象...全局对象是可以的我现在建了个全局的数组,在生成前将feature push进去,再把feature在数组里的索引传出来。终于解决了。谢谢大家。