我想用js实现这样一个功能:
在客户端,有个table,table外面有个按钮。单击一下按钮,表格增加一行,这行里面含有button(button需要响应服务器端click事件)

解决方案 »

  1.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dynamicAdd.aspx.cs" Inherits="WebApp.dynamicAdd" %><!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 runat="server">
        <title></title>    <script type="text/javascript">
            function addFile() {
                var _table = document.createElement("table");
                var _tbody = document.createElement("TBODY");
                var _row;
                var _cell;
                var rlen = parseInt(document.getElementById("rowlen").value);
                for (var i = 0; i < rlen; i++) {
                    _row = document.createElement("tr");
                    for (var j = 0; j < 3; j++) {
                        _cell = document.createElement("td");
                        var div = document.createElement("div");
                        var f = document.createElement("input");
                        f.setAttribute("type", "text")
                        f.setAttribute("name", "txtCardNo")
                        f.setAttribute("size", "20")
                        div.appendChild(f)
                        var d = document.createElement("input");
                        d.setAttribute("type", "button")
                        d.setAttribute("onclick", "deteFile(this)");
                        d.setAttribute("value", "移除")
                        div.appendChild(d)
                        _cell.appendChild(div);
                        _row.appendChild(_cell);
                    }
                    _tbody.appendChild(_row);
                }
                _table.appendChild(_tbody);
                var con = document.getElementById("_container");
                con.innerHTML = "";
                con.appendChild(_table);
            }        function deteFile(o) {
                while (o.tagName != "DIV") o = o.parentNode;
                o.parentNode.removeChild(o);
            }        function getAllTd() {
                document.getElementsByTagName("td")[0].style.backgroundImage = 'url(http://img.baidu.com/img/logo-zhidao.gif)';
            }
        </script></head>
    <body>
        <form id="form1" runat="server">
        <select id="rowlen">
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
        </select>
        <input value="add" type="button" onclick="addFile()" />
        <div id="_container">
        </div>
        <input type="button" value="ok" onclick="getAllTd()" />
        </form>
    </body>
    </html>
      

  2.   

    button需要响应服务器端click事件
    ============================
    添加好相应的服务器按钮,然后查看该按钮单击时执行的js事件,可以使用到需要的地方
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD><BODY>
    <TABLE border="1" width="100%">
    <TR>
    <TD width="15%"><INPUT type="text" name="aaa" value="1"></TD>
    <TD width="15%"><INPUT type="text" name="bbb" value="2"></TD>
    <TD width="15%"><INPUT type="text" name="ccc" value="3"></TD>
    <TD width="15%"><INPUT type="text" name="ddd" value="4"></TD>
    <TD><INPUT type="text" name="eee" value="5"></TD>
    <TD width="15%"><INPUT type="button" onClick="fff(this)" value="添加"></TD>
    </TR></TABLE>
    </BODY>
    </HTML>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function fff(obj){
    var tr = obj.parentNode.parentNode;
    var tbd = tr.parentNode;
    if (obj.value == "添加"){
    var tr1 = tr.cloneNode(tr);
    var ssj= tr1.childNodes;
    var i=0;
    /*不复制*/
    /*for (;i<ssj.length;i++){
    ssj[i].firstChild.value = "";
    }
    /*复制*/
    tr1.lastChild.firstChild.value = "删除";


    tbd.appendChild(tr1);
    if (tbd.childNodes.length > 2){
    tbd.lastChild.previousSibling.lastChild.firstChild.style.display = "none";
    }
    }
    else{
    tr.previousSibling.lastChild.firstChild.style.display = "";
    tbd.removeChild(tr);
    }
    }
    //-->
    </SCRIPT>
      

  4.   

    首先你要清楚,在客户端的按钮添加事件执行后台事件的话,肯定要用到那个_EVENT的东西,编译后的html页面你可以看下