【问题标题】:HTML form values adding commas in Classic ASP在经典 ASP 中添加逗号的 HTML 表单值
【发布时间】:2009-12-07 21:37:23
【问题描述】:

我有一个经典的 ASP 页面,它提交回自身。奇怪的是,从选择返回的值的末尾添加了逗号。有没有人遇到过这样的事情?有没有推荐的故障排除步骤或工具?

我希望这些值以数字形式返回 - 它们是选项中显示的值的 ID。

我检查了页面中的神秘逗号,但在我正在提取的数据中找不到任何逗号。

(注意 - 这些是单选,不是多选)

【问题讨论】:

  • 一些示例代码可能会解决问题...
  • 找到答案,还是想填写更多细节?
  • 抱歉,我还没有机会重新审视这个项目!我没有意识到如果有重复的表单值,它们会返回逗号分隔,所以我一定会调查的。谢谢!

标签: html forms asp-classic


【解决方案1】:

听起来您有重复的表单字段。您的值用逗号连接在一起,如下所示:

<input type="text" name="name1" value="value1">
<input type="text" name="name1" value="value2">
<input type="text" name="name2" value="value3">

变成

name1=value1,value2
name2=value3

如果第二个name1没有值,就变成

name1=value1,
name2=value3

【讨论】:

  • 这实际上是一个非常简单的事情,可能会导致非常复杂的结果......我刚刚走了很长的调试路线,发现故障出在 asp.net 单片形式上以及使用同名的多个输入谢谢
  • 有人知道如何截取表单字段值中的逗号吗?我需要逗号分隔的表单值列表,但其中一个或多个值有可能在其中包含逗号。不要问为什么,那是我无法控制的。
  • meh...我将在它们呈现到表单之前替换值中的逗号,然后将它们放回帖子
【解决方案2】:

您的页面上是否有多个同名的表单元素?

在经典 ASP 中,具有相同名称的多个表单值在 Request.Form / Request.QueryString 集合中连接成一个逗号分隔的字符串 - 因此,如果有一个名称为“foo”的隐藏字段或文本框以及你的

【讨论】:

    【解决方案3】:

    是否有两个同名的表单元素?如果您安装了 Firebug,则值得查看一下数据是否实际上是用逗号发布的,或者它是否是在 ASP 得到它可怕的爪子之后发生的。

    【讨论】:

    • 至少它爪子。不像 ASP.NET WebForms 这样的怪物那样可怕的衣衫褴褛的爪子......
    • 所以您认为 WebForms 是编程界的 J. Alfred Prufrock?
    • 显然是这样,虽然直到我用谷歌搜索 J. Alfred Prufrock 时我才知道我做到了... ;)
    • 尽管我讨厌网络表单,但我并不喜欢 asp
    • 这很好,因为它在这一点上符合恋尸癖。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    相关资源
    最近更新 更多