ASP经典从动态字段获取信息



我有一个旧的ASP页面,其中包含一种表格,但由于某种原因,代码的一部分不再可行。该代码以前工作是因为我在数据库中编写了表单的内容,并且有过去的值。

我页面的简短描述:我有一个[选择多个] - 字段,当您选择一个(或多个(选项时,我会创建另一个输入字段(对于每个选定的选项,一个新的fied(。该字段的ID是fsrow_ de选定选项的编辑值(没有空格,逗号,...(。

当我提交表格时,我想阅读新字段的内容,以便我可以将此信息写入我的数据库。

一个例子:假设我有两个选择的选项,以使其变得容易:" optiona"one_answers" optionB",然后我创建两个新字段(来自源代码(:

<input name="FSRow_OptionA" id="FSRow_OptionA" type="text">
<input name="FSRow_OptionB" id="FSRow_OptionB" type="text">

提交表格时,我有此代码:

if request.form()
...
getSelectedValues = split(request("OptionList"), ",")
    for each li in getSelectedValues 
        li = replace(li, "'", "''")
        li = replace(li, "||", ",")
        fsrow = trim(request("FSRow_" & replace(replace(replace(replace(replace(trim(li), " ", ""), "&", ""), "+", ""), ",", ""), "|", "")))
        if fsrow <> "" then
            [write to DB with dynamic field]
        else
            [only write selected item]
        end if
    next

当我查看数据库时。我只有所选项目的信息(所以,我要使用其他代码(。不是我动态字段的内容。因此,我想变量" fsrow"总是空的,即使我的新字段包含一些文本。

我的问题:

  1. 如何获取动态输入字段的内容?
  2. 任何想法可能出了什么问题,因为它在2017年7月工作并且没有改变任何事情。
  3. [不再需要,找到解决方案]我试图设置警报或写入控制台进行调试,但这不起作用。当我在"每个环"中时,我该如何调试?

编辑/更新1

Ricardo Pontual我可以使用"响应。

如果我这样做:

Response.Write(li)
Response.Write("## FSRow_" & li & " ## ")
Response.Write("->" & request("FSRow_" & li))

我得到了这个结果:

OptionA## FSRow_OptionA ## ->

但是,在我的表格/输入字段中,我在字段中使用ID" fsrow_optiona"写了"测试" ...

编辑/更新2

使用非动态输入字段,我可以在数据库中完美读取和写入值。因此,这确实是动态字段的问题...

找到了问题。这是非常古老的代码,从几年前,这不是我写的,问题是LT的位置;形式> and&lt;/form>

旧代码(不工作(

<table>
    <form>
        <tr>
        ...
        </tr>
    </form>
</table>

通过以下方式更改了代码:

<form>
    <table>
        <tr>
        ...
        </tr>
    </table>
</form>

我更改了&lt的顺序;表>和&lt;形式>现在可以工作!

最新更新