选择性提交表单元素

时间:2011-10-09 18:07:12

标签: javascript forms html5 post submit

我有一个隐藏元素的表单,用于创建逗号分隔值的伪数组,这些值将通过post提交给服务器,然后隐藏的元素将被解码为数组并进行处理以进行存储。为了填充隐藏的元素,我使用可见元素和javascript处理的按钮向隐藏元素添加值,每次按下按钮时清除表单。

以下是问题:如何将可见元素提交给服务器并仅提交隐藏元素以节省带宽?有没有办法创建一个文本输入字段,该字段不会与表单的其余部分一起提交,但是javascript和普通表单控件仍然可以访问?这里的目标是防止在点击提交按钮时发送相同数据的不必要的重复,在javascript用我需要的数据填充伪数组之后。

编辑:谢谢你的帮助。我得到的前两个答案都很好,但我选择了一个我认为对我自己和其他可能正在寻找相同解决方案的人更加详细和有帮助的答案。

PLAN:我将有一个onsubmit脚本,在提交之前禁用不需要的字段,以便它们不会被发送到服务器,从而节省(一点点)带宽并减少服务器端的信息量脚本需要做。这样可以轻松使用javascript清除我想要清除的字段,同时不断保持隐藏字段加载我需要的CSV。

2 个答案:

答案 0 :(得分:2)

您可以将元素的“已禁用”属性设置为true,以防止它们被提交。

答案 1 :(得分:2)

我现在可以想到两个证明:

  1. 将可见输入元素放在form标记之外,只留下提交按钮和隐藏字段。
  2. 在表单元素上创建一个事件onsubmit,以在可见字段上设置disabled属性。在某些可能需要另外删除该事件的浏览器上,请返回false并手动触发表单提交。