有个table表格 单击里面的单元格可以改变里面的内容 下面是完整代码 但是可不可以知道我改的单元格是哪个 (比如 你要更改的单元格是 x1 , y2)我的目的就是想存数据库中然后再读出来 可是我不知道改的是那个单元格 也就无法修改数据库 哪位大大帮下忙 提取一下那个类似于坐标的东西 大致就是这意思 谢谢啦//f.html  table界面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
window.onload = function() {
    var obj = document.getElementById('tbl').getElementsByTagName('td');
    
    for (var i = 0; i < obj.length; i ++) {
        obj[i].ondblclick = function () {
            var str = prompt('请输入');
           if (str.length >= 1) {
                this.innerHTML = str;
                this.style.backgroundColor = 'yellow';
            }
        }
    }
}
</script>
</head><body>
<table border="1" cellspacing="0" bordercolor="black" id="tbl">
<tr>
<td>&nbsp</td>
<td>x1</td>
<td>x2</td>
<td>x3</td><td>x4</td>
</tr>
  <tr>
<td>y1</td>
    <td>A</td>
    <td>B</td><td>&nbsp;</td><td>&nbsp;</td>
  </tr>
  <tr>
<td>y2</td>
    <td>C</td>
    <td>D</td><td>&nbsp;</td><td>&nbsp;</td>
  </tr>
  <tr>
<td>y3</td>
    <td>E</td>
    <td>F</td><td>&nbsp;</td><td>&nbsp;</td>
  </tr>
  <tr>
<td>y4</td>
    <td>G</td>
    <td>H</td><td>&nbsp;</td><td>&nbsp;</td>
  </tr></table>
</body>
</html>//c.html 弹出框页面<HTML>
<HEAD>
<TITLE> 修改页面 </TITLE><META http-equiv='content-Type' content='text/html;charset=utf-8'></HEAD>
<script language='javascript'>
function sure(){
var node=document.getElementsByTagName('input')[0];
window.returnValue=node.value.replace(/^\s+/g,'').replace(/\s+$/g,'');
if(window.returnValue.length>0)
window.close();
alert('不能为空');
}
function cancel(){
window.close();
}
function initC(){
var val=window.dialogArguments['value'];
document.getElementsByTagName('input')[0].value=val;
}
</script>
<BODY onload='initC()'>
<input type='text' />
<input type='button' value='确定' onclick='sure()'/>
<input type='button' value='取消' onclick='cancel()'/>
</BODY>

解决方案 »

  1.   

    你现在要的就是取得单元格行列值的问题
    在这现在的基础上加一段代码也可以实现效果,原理就是列遍历和行遍历。
    但更为高效些的方法,我是建议在绑定的时候就获得行列值,然后存为单元格的自定义变量。
    所以你获取元素的时候不要直接bytagname("td")来获取td集合,而是先通过bytagname"tr再通过cells,
    这样就可以直接得到XY值,不需要额外的遍历。    var otrs = document.getElementById("table1").getElementsByTagName("tr");
        for (var i = 0; i < otrs.length; i++) {
            for (var j = 0; j < otrs[i].cells.length; j++) {
                otrs[i].cells[j].x = j;
                otrs[i].cells[j].y = i;
                otrs[i].cells[j].ondblclick = function() {
                alert("x=" + this.x + "\ny=" + this.y);
                    //其它修改行为
                }
            }
         }
      

  2.   

    <script type="text/javascript">
    function init(){
    var trs=document.getElementsByTagName("tr");
    for(var i=0;i<trs.length;i++){
    var tds=trs[i].getElementsByTagName("td");
    for(var j=0;j<tds.length;j++){
    tds[j].setAttribute("xy",i+"-"+j);
    tds[j].onclick=change;
    }
    }
    }
    function change(){
    var a=prompt("content");
    this.innerHTML=a;
    alert(this.getAttribute("xy"));
    }
    window.onload=init;
    </script>
    这样试试   把对应的坐标信息放到attribute里试试可以不
      

  3.   

    二楼能不能把代码说的详细些 那段代码是插在哪的? 原来的那些就不是我写的 我是新手 就有点基础 现在对dom操作也是一头雾水 尽量给全代码 谢谢啦
      

  4.   

    3楼 t表格的内容是从数据库中读出来的 我的最终目的是把要修改的数据存回数据库的 用那个update set 那个sql语句把他存回去 所以我得知道他的那个类似于横纵坐标的东西 你放在那里面我可以拿出来么
    就是在外面 用到提取出来的那个变量吧 然后我才能改回去的