1

我有一个大型记录集正在显示给用户。每条记录都有一个编辑按钮,允许用户编辑记录中的各种数据。某些记录具有比其他记录更多的字段,因此编辑表单具有各种不同的名称和字段数量。

例如,如果单击编辑按钮,一条记录将产生以下内容:

<form id="frm1" name="frm1" method="post" action="changeJob.asp?jobNo=1101&jQueryID=1" target="_blank">
<input type='text' name='Qty13' value='8' size="3" maxlength="3"/>
<input type="submit" name="btnFrm1" id="button" value="Submit" />
</form>

然而,另一条记录会产生这个:

<form id="frm2" name="frm2" method="post" action="changeJob.asp?jobNo=1102&jQueryID=2" target="_blank">
<input type='text' name='Qty15' value='8' size="3" maxlength="3"/>
<input type='text' name='Qty16' value='8' size="3" maxlength="3"/>
<input type='text' name='Qty17' value='8' size="3" maxlength="3"/>
<input type='text' name='Qty18' value='8' size="3" maxlength="3"/>
<input type="submit" name="btnFrm2" id="button" value="Submit" />
</form>

如上所述,每个输入字段都分配有其唯一的名称,例如“Qty14”,并且其表单有自己的名称,例如“frm2”。这些需要是唯一的,因为我有一些 jQuery 加号和减号按钮,允许用户增加数量。

在 changeJob.asp 中,我如何确定哪些字段具有唯一名称和编号?我可以很容易地使用隐藏字段获取表单名称。

我正在尝试实现以下目标:

对于 frm1 中的每个字段 ** 执行 SQL 更新 ** 下一步

任何指导将不胜感激:)

4

2 回答 2

2

只需迭代所有表单集合并查找以所需名称开头的键:

Dim strSQL, curValue, blnFirst
blnFirst = True
strSQL = "Update MyTable Set "
For Each key In Request.Form
    If Left(key, 3)="Qty" Then
        'prevent nasty hacking
        If IsNumeric(Replace(key, "Qty", "")) Then
            curValue = Request.Form(key)
            If IsNumeric(curValue) Then
                If Not(blnFirst) Then
                    strSQL = strSQL & ", "
                End If
                strSQL = strSQL & key & "=" & curValue
                blnFirst = False
            End If
        End If
    End If
Next
If blnFirst Then
    'no values, show alert of some sort...
Else  
    strSQL = strSQL & " Where [filter here]"
    '...
End If

这将基于提交的值构建动态查询。

如果每个值都需要单独更新代码变得更简单,希望您可以自己更改。:)

于 2013-04-02T07:14:17.693 回答
0

我很乐意提供帮助。需要更多信息,因为我不想告诉你你已经知道的东西。你能告诉我你是否已经有代码来填写表格......就像......这个表格是用于编辑新数据和/或旧数据还是仅用于编辑新记录?

此外,您是否想过使用一种表单,然后让您的服务器端代码 (ASP) 动态生成输入框?这是我的建议,因为在这种情况下拥有多个表单(除非我遗漏了某些内容)......不雅。

您可以下载这个 zip 文件,其中有两个 asp 页面,展示了一种更动态的方法:http ://www.oceanmedia.net/files/hk_config.zip

于 2013-03-29T23:35:39.313 回答