我有一个旧的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"总是空的,即使我的新字段包含一些文本。
我的问题:
- 如何获取动态输入字段的内容?
- 任何想法可能出了什么问题,因为它在2017年7月工作并且没有改变任何事情。
- [不再需要,找到解决方案]我试图设置警报或写入控制台进行调试,但这不起作用。当我在"每个环"中时,我该如何调试?
编辑/更新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;形式>现在可以工作!