把单引号都用\进行转义
msg.innerHTML +="<form id=\'form2\'><input type=\'button\' value=\'getValue\' onClick=\'getValue("+feature+");\'/></form>";
msg.innerHTML +="<form id=\'form2\'><input type=\'button\' value=\'getValue\' onClick=\'getValue("+feature+");\'/></form>";
msg.innerHTML +="<form id='form2'><input type='button' value='getValue' onClick='getValue(feature);'/></form>";傳對象的話直接這麽寫就可以了吧
<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>
看一眼生成的html就大概明白了。
生成后为 onClick='getValue([object object])'如果是字符串"aaaaa": onClick='getValue(aaaaa)'那么aaaaa当然就找不到了。不知道谁有没有解决过这类问题
但是传对象好像比较难。
<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>
生成的html是onclick = getValue(feature)但是feature又不是个全局对象...全局对象是可以的我现在建了个全局的数组,在生成前将feature push进去,再把feature在数组里的索引传出来。终于解决了。谢谢大家。