我有一个表格,其中一些字段位于隐藏的DIV中(style =“display:none;”)。用户可以根据需要单击显示这些附加字段的按钮。
现在,如果用户以“紧凑”状态提交表单,隐藏div中的表单变量也会提交并显示在地址栏中。
如何更改此行为以便仅提交可见的表单字段?
答案 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;也只是因为我从来不知道我什么时候会因为其他原因而稍后调整它。