批量删除复选框和其他值

时间:2018-08-16 08:14:51

标签: html checkbox asp-classic

所以我认为我现在处于某种隧道视觉中。

我必须维护一个非常基本的应用程序(HTML + ASP)。在此应用程序中,有一个带有一些值的小表:

<table>
    <tr>
        <td>Customer-ID</td>
    </tr>
    <tr>
        <td>Waregroup</td>
    </tr>
    <tr>
        <td>Some other ID</td>
    </tr>
    <tr>
        <td>[edit]</td>
    </tr>
    <tr>
        <td>[delete]</td>
    </tr>
    <tr>
        <td>[checkbox for deletion]</td>
    </tr>
</table>

看起来是这样,以使其更加可视化(不包含数据的行,为此不需要它们):

enter image description here

现在,delete函数不仅仅采用客户ID(KD Nr。),还需要其他几个参数,这些参数在链接中提供。例如,这里:

someSite.com?sid=123456&gkid=133&kdid=9043168&wws=9&del=1

某些值是从QueryString中获取的,其他值是从SQL查询的ResultSet中获取的。

现在,我不得不扩展此应用程序,并在批量删除中添加一个复选框。这根本不是问题,但是当我基本上只可以在每个复选框中使用1个值时,我有点卡住了如何获取删除所需的值。我考虑过使用隐藏的输入,但是后来我不知道如何确定哪些行应该删除,哪些行不应该删除:

这是我添加的内容:

<td>
    <input type="checkbox" name="deletebox[]" value="0">
    <input type="hidden" name="sid" value="<%=Request.QueryString("sid")%>">
    <input type="hidden" name="gkid" value="<%=Request.QueryString("gkid")%>">
    <input type="hidden" name="kdid" value="<%=rs("ka_kdnr")%>">
    <input type="hidden" name="wws" value="<%=rs("ka_sysid")%>">
</td>

我的想法是遍历每个选中的复选框,从隐藏字段中获取值,然后循环运行我的删除脚本。

任何领导如何做到这一点?我可以简单地遍历所有选中的复选框和request来获取隐藏字段的当前值吗?

我基本上只需要 gkid gkkid 即可使存储过程正常工作。

1 个答案:

答案 0 :(得分:1)

如果您提交的表单包含相同表单变量的多个实例,则该变量在Request对象中的值将显示为逗号分隔的数组。换句话说,如果您的表单包含以下内容:

<input type="checkbox" name="gkid" value="25">
<input type="checkbox" name="gkid" value="50">
<input type="checkbox" name="gkid" value="75">

然后Request("gkid")将显示所有值,分别显示为“ 25,50,75”。然后,您可以按如下所示拆分数组。

For i = 1 to Request("gkid").Count
     Response.write Request("gkid")(i) & "<br>" & vbcrlf
Next

我将假定您可以从那里拿走它,并改写上面的内容以使用Request.Form("gkid")(i),并使用调用存储过程的代码在循环内应用逻辑。

您的问题提到了一个名为“ gkkid”的变量。我看不到那是哪里来的。如果可以的话,我也许可以改善这个答案。