有谁能知道用javascript写一个动态编辑表格的程序来.效果就象SQLServer企业管理器中添加数据时的那种效果
即 当编辑完一个单元格,按回车键就跳转至下一个单元格,
当编辑到最后一个单元格时,自动添加一新行,
当按方向键时,可以随意跳转至任意一个单元格.请教各位高手
最好有详细代码

解决方案 »

  1.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <script language="javascript">
    function insertStr() {
    var f = document.form1;
    var value = f.str.value;
    if(value!="") {
    // 从最终的TextNode节点开始,慢慢形成<tbody>结构
    var text = document.createTextNode(value); //新建一个TextNode节点
    var td = document.createElement("td"); //新建一个td类型的Element节点
    var tr = document.createElement("tr"); //新建一个tr类型的Element节点
    var tbody = document.createElement("tbody"); //新建一个tbody类型的Element节点
    td.appendChild(text); //将节点text加入td中
    tr.appendChild(td); //将节点td加入tr中
    tbody.appendChild(tr); //将节点tr加入tbody中
    var parNode = document.getElementById("table1"); //定位到table上
    parNode.insertBefore(tbody,parNode.firstChild); //将节点tbody插入到节点顶部
    //parNode.appendChild(tbody); //将节点tbody加入节点尾部
    }
    }
    </script>
    </head>
    <body>
    <form name="form1" method="post" action="">
        <input name="str" type="text" id="str" value="">
        <input name="insert" type="button" id="insert" value="留言" onClick="insertStr()">
    </form>
    <table width="400" border="1" cellspacing="0" cellpadding="0" id="table1">
    <tbody>
        <tr>
            <td height="25">网友留言列表:</td>
        </tr>
    </tbody>
    </table>
    </body>
    </html>
      

  2.   

    有谁能知道用javascript写一个动态编辑表格的程序来.效果就象SQLServer企业管理器中添加数据时的那种效果
    即 当编辑完一个单元格,按回车键就跳转至下一个单元格,
    当编辑到最后一个单元格时,自动添加一新行,
    当按方向键时,可以随意跳转至任意一个单元格.请教各位高手
    最好有详细代码
      

  3.   

    首先对你的思路提个问题:你怎么处理下拉选择框(select) 和日期选择框的情况?
      

  4.   

    给你个例子:
     
    <html>
    <head>
    <title>My Test Page</title>
    <script type="text/javascript">
    <!--
    var textNumber = 1;
    function addTextBox(form, afterElement) {
      // Increment the textbox number
      textNumber++;
      // Create the label
      var label = document.createElement("label");
      // Create the textbox
      var textField = document.createElement("input");
      textField.setAttribute("type","text");
      textField.setAttribute("name","txt"+textNumber);
      textField.setAttribute("id","txt"+textNumber);
      // Add the label's text
      label.appendChild(document.createTextNode("Text Box #"+textNumber+": "));
      // Put the textbox inside
      label.appendChild(textField);
      // Add it all to the form
      form.insertBefore(label,afterElement);
      return false;
    }
    function removeTextBox(form) {
      if (textNumber > 1) { // If there's more than one text box
        // Remove the last one added
        form.removeChild(document.getElementById("txt"+textNumber).parentNode);
        textNumber--;
      }
    }
    //-->
    </script>
    <style type="text/css">
    <!--
    label {
      display:block;
      margin:.25em 0em;
    }
    -->
    </style>
    </head>
    <body>
    <form id="myForm" method="get" action="./" />
      <label>Text Box #1: <input type="text" name="txt1" id="txt1" /></label>
      <p>
        <input type="button" value="Add Textbox" onclick="addTextBox(this.form,this.parentNode)" />
        <input type="button" value="Remove Textbox" onclick="removeTextBox(this.form)" />
      </p>
      <p><input type="Submit" value="Submit" /></p>
    </form>
    </body>
    </html>
      

  5.   

    我用JS实现你想要的功能但是增删改进数据库还没实现 郁闷ing..你的想法可能也是只要传一个表名和一个SQL语句就能实现一个页面实现增删改查了 呵呵