单击打印表数据不起作用

时间:2014-10-18 21:31:22

标签: javascript

我试图获取表值,我在StackOverflow中看到了一个脚本,问题是它不能在这里工作。我不知道为什么,我想也许我应该更换这个"事件"参数有些东西。怎么了?

clico()功能确实有效,但myFun()没有。

<html>
<head>
<script language="javascript" type="text/javascript">
function clico(){
    alert("clico!!");
}

function myFun(e){ 
    alert(e.target.innerText); //current cell
    alert(e.target.parentNode.innerText); //Current row.
}​
</script>
</head>
<body>
<table id="tableID" border="5" onclick="myFun(event)">
  <tr>
     <td>row 1, cell 1</td>
     <td>row 1, cell 2</td>
  </tr>
  <tr>
     <td>row 2, cell 1</td>
     <td>row 2, cell 2</td>
  </tr>
</table>

</body>

</html>

编辑:那个&#34;隐形的特殊字符&#34;事情解决了脚本问题,但现在我得到了一个&#34; undefined&#34;打印而不是表值...只有firefox。 Internet Explorer和chrome完美运行!这是firefox的一个问题,还是我在这里的设置中遗漏了什么?

2 个答案:

答案 0 :(得分:1)

我不知道你是怎么得到这个的,但是在最后}之后会有一些不可见的特殊字符导致错误。您只能使用十六进制编辑器

查看这些特殊字符/字节

enter image description here

在此屏幕截图中,特殊字符在右侧部分显示为点,如新行,但正如您所看到的,左侧的值不同。三个红色的是虫子。

要摆脱它,最好对你的编辑器进行选择,包括几行/单词,然后将其删除并手动重写。

答案 1 :(得分:0)

使用此:

window.onload = function() {
    var rows = document.getElementById('tableID').rows;

    var handler = function(e) {
            alert(e.target.innerHTML); //Alerts the clicked cell's value
    }

    for(var i = 0; i < rows.length; i++) {
        rows[i].onclick = handler;
    } 
}