动态生成的文本框中有个onchange事件,使用时onchange事件为什么无效?有答案马上结贴!!!

ABCatai 2007-05-22 03:58:05
我通过以下代码生成一个文本框:
//td是某单元格的名称,'createProcess(ref)方法已定义
td.innerHTML = <input name='txtOne' onchange='createProcess('reference');'>
可以生成该文本框,但是却不能调用createProcess()方法,为什么?
(createProcess方法本身没问题)
...全文
533 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ABCatai 2007-05-22
  • 打赏
  • 举报
回复
我是楼主,刚才的问题解决了:

//obj是刚才生成的文本框
var obj =document.getElementById("textOne");
obj.onchange = function(){createTextByChoice("ref");}

谢谢以上各位
wxylvmnn 2007-05-22
  • 打赏
  • 举报
回复
我個人覺得,問題的關鍵是你這個參數的有效範圍問題。

<script defer>
var s;

function createProcess(s){
alert (s)
}

s = "test";
td.innerHTML = "<input name='txtOne' onchange='createProcess(\""+s+"\");'>"

</script>

<div id="td"></div>
希默软件 2007-05-22
  • 打赏
  • 举报
回复
onchange='createProcess('reference');

仔细看看,你的引号嵌套乱了,应该使用转义符号 \ 进行转义
wxylvmnn 2007-05-22
  • 打赏
  • 举报
回复
因爲有參數。
Ischema 2007-05-22
  • 打赏
  • 举报
回复
<html>
<head>

</head>

<body >

<input type="button" value="提交" onclick="showAll()"><br>
<p id="td">这个问题问过了</p>
<script>
function showAll(){
var td=document.getElementById("td");
td.innerHTML =" <input name='txtOne' onclick=createProcess('reference')>";

}
function createProcess(obj){
alert(obj);
}
</script>
</body>
</html>

注意:onchange事件是在text失去焦点的时候触发
测试通过

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧