隐藏DIV中的表单字段

时间:2010-12-13 15:06:53

标签: php javascript

我有一个表格,其中一些字段位于隐藏的DIV中(style =“display:none;”)。用户可以根据需要单击显示这些附加字段的按钮。

现在,如果用户以“紧凑”状态提交表单,隐藏div中的表单变量也会提交并显示在地址栏中。

如何更改此行为以便仅提交可见的表单字段?

4 个答案:

答案 0 :(得分:2)

使用POST代替GET。

隐藏字段时将disabled属性设置为true,并在显示字段时再次启用它们。 disabled会阻止他们提交。

答案 1 :(得分:0)

你必须想出一个JS方法,只用你想要的值提交表单。它目前工作的方式是正常的浏览器行为。仅仅因为表单字段在视觉上是隐藏的并不意味着它们不应该被提交。

如果可以的话,使用POST而不是GET,你不必担心它。

答案 2 :(得分:0)

将DIV放在FORM元素之外,你应该没问题。如果您无法从后端执行此操作,请使用脚本执行此操作。

如果需要,让切换回调将DIV放到位,就像我猜想的那样:

// show
form_elm.appendChild(div_elm);
div_elm.style.display = 'block';

// hide
form_elm.parentNode.appendChild(div_elm);
div_elm.style.display = 'block';

您可以在所选的JavaScript库中更加优雅。

答案 3 :(得分:0)

这真的是所有的CSS工作。 .hidden_​​div_1表单{... visibility:hidden;禁用:禁用;只读:只读; }

我想添加不透明度:0.0;也只是因为我从来不知道我什么时候会因为其他原因而稍后调整它。