我用的是MVC框架,html中的数据是从xml文件中获取的,table中的每行中有两个checkbox,第一个用来选中该行,第二个用来选择是否启用textbox。现在的情况是把选中行的数据传到后台然后再放入数据库中。写了段js代码,从表格中获取了数据,但获取的数据都堆放在一起了,表格中的每一列对应数据库中的每个字段,怎样把输出的那堆数据拆开并传入后台,最终存入数据库呢?请高手指点一下,非常感谢。用其它方法也行听网友说用jquery比较方便,但本人新手请大家帮忙。
后台代码应该怎样写?或前台代码应该怎样更改多谢。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script type="text/javascript">
//控制textbox
    window.onload = function () {
        $(".chk").each(function (i, j) {
            $(this).next().attr("disabled", "disabled");
            $(j).click(function () {
                if ($(this).attr("checked"))
                    $(this).next().attr("disabled", "");
                else
                    $(this).next().attr("disabled", "disabled");
            });
        });
    };
</script>
<script type="text/javascript">
    function bianli() {        var xxx = new Array();
        var hiddenvalue_Step_No = "";
        var hiddenvalue_Step_Name = "";
        var hiddenvalue_Append_Name = "";
        var tbl = document.getElementById("flowtbl");
        var tbodys = tbl.tBodies; //获取表格中所有 tBody 对象的集合.
        for (var i = 0; i < tbodys.length; i++) {
            var rows = tbodys[i].rows;//集合中的行数
           /// alert(i+"i");
            for (var j = 0; j < rows.length; j++) {
                //alert(j+"j");
                var cells = rows[j].cells;//定义行内单元格集合
                var spans = rows[j].getElementsByTagName("span");//返回标签为span的对象
                for (var t = 0; t < cells.length; t++) {
                    //alert(t+"t");
                    var inputs = cells[t].getElementsByTagName("input");//返回标签为input的对象
                    if (inputs.length > 0) {
                        if (inputs[j].type == "checkbox" && inputs[j].checked == true) {
                            var tdlist = cells[t].parentNode.childNodes;//
                            for (var d = 0; d < tdlist.length; d++) {
                                //alert(d+"d");
                                var spans2 = tdlist[d].getElementsByTagName("span");
                                if (spans2.length > 0) {
                                    for (var k = 0; k < spans2.length; k++) {
                                        hiddenvalue_Step_No += (spans2[k].innerHTML + ",");
                                    }
                                }
                                else {
                                    continue;
                                }                            }
                        }
                    }                }
                xxx[j] = hiddenvalue_Step_No;
                var hidcontrol = document.getElementById("<% = hidvalue.ID%>");
                hidcontrol.value = xxx[j];
                hiddenvalue_Step_No = "";
                $("#hidvalue).val(xxx[j]);
                            }
        }
        document.form[0].submit();
    }
</script>
<head id="Head1" runat="server">
    <title>设计</title>
 </head>
<body>
    <form id="form1" runat="server">
    <div id="interface_inside">
        <div id="interface_quick">
            <div class="interface_quick_left">
                您现在的操作 >> 设计
            </div>
        </div>
        <div id="interface_main">
            <div id="tabs_config" class="tabsbox">
                <div class="clearboth">
                </div>
                <!-- 模块 -->
                <div id="config_basic1" class="tabs_wrapper">
                    <div id="PanelConfig">
                        <div class="blank_10">
                        </div>
                        <table class="table subsubmenu">
                            <thead>
                                <tr>
                                    <td class="style3">
                                        设计
                                    </td>
                                </tr>
                            </thead>
                        </table>
                        <div id="PanelDefault">
                            <table class="table">
                                <tr>
                                    <th style="font-weight: bold;" class="style7">
                                        &nbsp;*名称:
                                    </th>
                                    <td class="style4">
                                        <%=Html.TextBox("Flow_ModelName")%>
                                    </td>
                                </tr>
                                <tr>
                                    <th style="font-weight: bold;" class="style8">
                                        &nbsp;*备注:
                                    </th>
                                    <td class="style6">
                                        <%=Html.TextBox("Re") %>
                                    </td>
                                </tr>
                                                            </table>
                            <xml id="dso2" src="/Configs/XML_FlowStep.xml"></xml>
                            <table id="flowtbl" datasrc="#dso2" class="table">
                                <thead>
                                    <th align="left">
                                        <input input name="chkAll" type="checkbox" id="chkAll" onclick="CheckAll(this.form)"
                                            value="11" />
                                        是否选择行                                    </th>
                                    <th>
                                        编号
                                    </th>
                                    <th>
                                        名称
                                    </th>
                                    <th>
                                        审核                                    </th>
                                </thead>
                                <tr>
                                    <td>
                                        <input type="checkbox" class="chk1" value="11" />
                                    </td>
                                    <td>
                                        <span datafld="ID"></span>
                                    </td>
                                    <td>
                                        <span datafld="name"></span>
                                    </td>
                                    <td>
                                        <input type="checkbox" class="chk" /><input type="text" />
                                    </td>
                                </tr>
                            </table>
                            <td><input type="button" ID="Button1" text="send" onclick="bianli()" runat="server" />
                                     <input type="text" id="hidvalue" value="" name="Fsname"/>
                            <table>
                                <tr>
                                    <td>
                                        &nbsp;&nbsp;
                                        <input type="button" class="button" value='关闭' onclick="javascript:window.close()" />
                                        <input type="submit" class="button" value='提交' />
                                        <input type="reset" class="button" value='重置' />
                                    </td>
                                </tr>
                            </table>
                            <br />
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <!-- 模块 -->
    </div>
    </form>
</body>
</html>
[/code]
<xml id="dso2" src="/Configs/XML_FlowStep.xml"></xml>
                            <table id="flowtbl" datasrc="#dso2" class="table">
                                <thead>
                                    <th align="left">
                                        <input type="checkbox" class="all" />
                                        是否选择行                                    </th>
                                    <th>
                                        编号
                                    </th>
                                    <th>
                                        名称
                                    </th>
                                    <th>
                                        审核                                    </th>
                                </thead>
                                <tr>
                                    <td>
                                        <input type="checkbox" class="chk1" value="11" />
                                    </td>
                                    <td>
                                        <span datafld="ID"></span>
                                    </td>
                                    <td>
                                        <span datafld="name"></span>
                                    </td>
                                    <td>
                                        <input type="checkbox" class="chk" /><input type="text" />
                                    </td>
                                </tr>
                            </table>

解决方案 »

  1.   

    正则?能帮忙写一下吗?多谢“devmiao
      

  2.   

    不用取这么麻烦吧,直接取dso2的xml值就可以啦!至于在前台解析,还是后台解析自己顶!
      

  3.   

    直接取xml怎样操作?每一行内还有checkbox呢,选中的行才存入数据库的。
      

  4.   

    在前台把字符串拼接成01103,005;01102,006;的格式,放到隐藏域中,然后在后台拆分
    前台代码如下:
    <form id="form1" runat="server">
        <table id="flowtbl" datasrc="#dso2" class="table">
            <thead>
                <tr jquery1350481007593="6">
                    <th align="left">
                        <input class="all" type="checkbox">
                        步骤选择
                    </th>
                    <th>
                        步骤编号
                    </th>
                    <th>
                        步骤名称
                    </th>
                    <th>
                        是否审批
                    </th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>
                        <input class="chk1" value="11" type="checkbox">
                    </td>
                    <td>
                        <span datafld="ID">01101</span>
                    </td>
                    <td>
                        <span datafld="name">项目1</span>
                    </td>
                    <td>
                        <input class="chk" type="checkbox" jquery1350481007593="9"><input disabled type="text"
                            jquery1350481007593="8">
                    </td>
                </tr>
            </tbody>
            <tbody>
                <tr>
                    <td>
                        <input class="chk1" value="11" type="checkbox">
                    </td>
                    <td>
                        <span datafld="ID">01102</span>
                    </td>
                    <td>
                        <span datafld="name">项目2</span>
                    </td>
                    <td>
                        <input class="chk" type="checkbox" jquery1350481007593="11"><input disabled type="text"
                            jquery1350481007593="10">
                    </td>
                </tr>
            </tbody>
            <tbody>
                <tr>
                    <td>
                        <input class="chk1" value="11" type="checkbox">
                    </td>
                    <td>
                        <span datafld="ID">02101</span>
                    </td>
                    <td>
                        <span datafld="name">项目3</span>
                    </td>
                    <td>
                        <input class="chk" type="checkbox" jquery1350481007593="13"><input disabled type="text"
                            jquery1350481007593="12">
                    </td>
                </tr>
            </tbody>
            <tbody>
                <tr>
                    <td>
                        <input class="chk1" value="11" type="checkbox">
                    </td>
                    <td>
                        <span datafld="ID">02102</span>
                    </td>
                    <td>
                        <span datafld="name">项目4</span>
                    </td>
                    <td>
                        <input class="chk" type="checkbox" jquery1350481007593="15"><input disabled type="text"
                            jquery1350481007593="14">
                    </td>
                </tr>
            </tbody>
            <tbody>
                <tr>
                    <td>
                        <input class="chk1" value="11" type="checkbox">
                    </td>
                    <td>
                        <span datafld="ID">01103</span>
                    </td>
                    <td>
                        <span datafld="name">项目5</span>
                    </td>
                    <td>
                        <input class="chk" type="checkbox" jquery1350481007593="17"><input disabled type="text"
                            jquery1350481007593="16">
                    </td>
                </tr>
            </tbody>
            <tbody>
                <tr>
                    <td>
                        <input class="chk1" value="11" type="checkbox">
                    </td>
                    <td>
                        <span datafld="ID">01104</span>
                    </td>
                    <td>
                        <span datafld="name">项目6</span>
                    </td>
                    <td>
                        <input class="chk" type="checkbox" jquery1350481007593="19"><input disabled type="text"
                            jquery1350481007593="18">
                    </td>
                </tr>
            </tbody>
            <tbody>
                <tr>
                    <td>
                        <input class="chk1" value="11" type="checkbox">
                    </td>
                    <td>
                        <span datafld="ID">01105</span>
                    </td>
                    <td>
                        <span datafld="name">项目7</span>
                    </td>
                    <td>
                        <input class="chk" type="checkbox" jquery1350481007593="21"><input disabled type="text"
                            jquery1350481007593="20">
                    </td>
                </tr>
            </tbody>
            <tbody>
                <tr>
                    <td>
                        <input class="chk1" value="11" type="checkbox">
                    </td>
                    <td>
                        <span datafld="ID">01106</span>
                    </td>
                    <td>
                        <span datafld="name">项目8</span>
                    </td>
                    <td>
                        <input class="chk" type="checkbox" jquery1350481007593="23"><input disabled type="text"
                            jquery1350481007593="22">
                    </td>
                </tr>
            </tbody>
        </table>
        <asp:Button Text="send" OnClientClick="bianli()" runat="server" />  <!-- 这里改成html控件也可以 -->
        <asp:HiddenField runat="server" ID="hidvalue" />
        </form> <script type="text/javascript">
            function bianli() {
                var hiddenvalue = "";
                var returnvalue = "";
                var tbl = document.getElementById("flowtbl");
                var tbodys = tbl.tBodies;            for (var i = 0; i < tbodys.length; i++) {
                    var rows = tbodys[i].rows;
                    for (var j = 0; j < rows.length; j++) {
                        var cells = rows[j].cells;
                        var spans = rows[j].getElementsByTagName("span");
                        for (var t = 0; t < cells.length; t++) {
                            var inputs = cells[t].getElementsByTagName("input");
                            if (inputs.length > 0) {
                                if (inputs[j].type == "checkbox" && inputs[j].checked == true) {                                var tdlist = cells[t].parentNode.childNodes;
                                    for (var d = 0; d < tdlist.length; d++) {                                    var spans = tdlist[d].getElementsByTagName("span");
                                        if (spans.length > 0) {
                                            for (var k = 0; k < spans.length; k++) {
                                                if (hiddenvalue == "") {
                                                    hiddenvalue += spans[k].innerHTML;
                                                }
                                                else {
                                                    if (hiddenvalue != "") {
                                                        hiddenvalue += "," + spans[k].innerHTML;
                                                    }
                                                }
                                            }
                                            
                                        }
                                        else {
                                            continue;
                                        }
                                    }
                                    hiddenvalue += ";";
                                    returnvalue += hiddenvalue;
                                    hiddenvalue = "";
                                }                            
                            }
                            
                        }
                        
                    }
                    
                }            var hidcontrol = document.getElementById("<% = hidvalue.ClientID%>");
                hidcontrol.value = returnvalue;
            }
        </script>aspx页面
     protected void Page_Load(object sender, EventArgs e)
        {
            if (hidvalue.Value != "")
            {
                string Data = hidvalue.Value;
                string[] data = Data.Split(new char[] { ';' });
                for (int i = 0; i < data.Length - 1; i++)
                {
                    string InsertText = data[i].Replace(",", "','");
                    //执行数据库插入操作 这里的InsertText变成了"001,项目2" 这样的字符串,可以  
                      //放到Insert语句中插入到数据库中             }
            }    }
      

  5.   

    //执行数据库插入操作 这里的InsertText变成了"001,项目2" 这样的字符串,可以  
                      //放到Insert语句中插入到数据库中
    这样我的一行内是有很多列的不仅是“001,项目2”这两个还有好多个,像“001,项目2”这样的数据也要分开存的。在数据库里是两个字段。
      

  6.   

    那可以改成string[] Parameter = data[i].Split(new char[]{','}); 然后在执行插入操作的时候遍历Parameter这个数组就行了
      

  7.   

    多谢wyumening
     
    (wyumening)我结贴。