javascript - 具有相同 'name' 属性的多个表单字段未发布

标签 javascript html jsp mootools

我正在处理一些遗留的 HTML/JavaScript。有些是我可以控制的,有些是从我无法控制的地方产生的。

有一个带有隐藏字段的动态生成的表单。表单本身是通过 Velocity 模板 (Percussion Rhythmyx CMS) 生成的,JavaScript 会插入额外的隐藏表单字段。最终结果是使用相同的“名称”属性生成隐藏的表单字段。数据被发布到我知之甚少的 Java/JSP 服务器端代码。

我知道共享相同“名称”属性的表单字段是有效的。由于某种原因,POSTed 数据未被后端识别。 当我检查 POST 字符串时,同名键都不包含任何数据。

如果我在我的开发环境中操作代码,使得给定名称仅存在一个输入字段,则数据会正确发布到后端。问题不一致,有时,它工作得很好。

我能做些什么来保证数据会被发布吗?有谁能想出它不会的原因吗?

I should really update my answer and post code here, because POST requests without 
variable strings indicates the problem is on the client side.

最佳答案

这个怎么样:

<script type="text/JavaScript">
    function disableBlankValues()
    {
        var elements = document.getElementById("form1").elements;
        for (var i = 0; i < elements.length; i++)
        {
            if (elements[i].value == "")
                elements[i].disabled = true;
        }
    }
</script>

<form action="page.php" method="POST" onsubmit="disableBlankValues()" id="form1">
    <input type="hidden" name="field1" value="This is field 1."/>
    <input type="hidden" name="field1" value=""/>
</form>


编辑

我现在意识到实际问题(多个同名变量应该作为数组传递给 JSP),我的解决方案可能不是 OP 正在寻找的,但我将它留在这里以防万一帮助偶然发现这篇文章的其他人。

关于javascript - 具有相同 'name' 属性的多个表单字段未发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9081085/

相关文章:

javascript - 除 IE 外无法读取 cookie

Javascript 函数和构造函数语法之间的区别?

javascript - 显示表格单元格内容 onClick 如果相应的 Checkbox 被选中

java - Eclipse 和 JAVA EE 7

javascript - 覆盖段落button.onclick()

javascript - jquery 两个元素

jquery - Material 设计精简版(MDL)中的水平和垂直中心卡

html - 将卡片上的垂直文本与图像对齐

java - 数据库交互后重定向

jsp - 如何使用 web.xml 隐藏 .jsp 扩展名