Zen_Sam 2011-03-21 18:22
浏览 509
已采纳

单击<tr>的某个td 将td中的innerHTML改为<span><input onblur=""/></span> input调用不了事件



/******
上面的是用c:each循环出来的,想点击行的某个列 将某个列改为<span><input name="vouchQty${s.count}" id="vouchQty${s.count}" onblur="addQuantity();" /></span>  我描述的不清楚 但想一定有好心人帮忙!
*****/

/*
这个是js 我想动态给input加事件  可是我传过去的值是alert("object:"+checkQty); 弹出一看是下面的图
*/

大哥们 给个意见… 帮个忙!谢谢…

  • 写回答

2条回答 默认 最新

  • cheng888qi 2011-03-22 01:11
    关注

    从截图看出,你的程序是在IE下进行测试的
    在你目前的代码上有两种方式可以获得值:
    [code="html"]

    window.onload = function() { var row = document.getElementById("tr_0"); editRow(row); } function editRow(trObj) { for(var i = 0; i < trObj.cells.length; i++) { trObj.cells[i].onclick = function () { this.innerHTML = "<input type='text' id='checkQty" + i + "' value='"+ this.innerText + "' />"; document.getElementById('checkQty' + i).focus(); document.getElementById('checkQty' + i).onblur = function() { editCellOnBlur(this.value); } //方式一 }; } } function editCellOnBlur(obj) { alert(obj); alert(event.srcElement.value); //在你原来的代码上,直接使用event对象 }

    1 2


    [/code]

    注意:attachEvent方法,是IE的独有的,event对象各浏览器下的实现不一样,不能做到浏览器兼容。

    所以还是推荐用一些框架来完成,即可以实现对大部分浏览器的兼容,也能方便的实现功能。例如:jquery

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 asp.textbox后台赋值前端不能显示什么原因
  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误