我有一些隐藏DIV(style =“display:none;”)域的表单。用户可以点击一个按钮,显示这些额外的字段,如果他们希望。隐藏DIV中的表单域
现在,如果用户以其“紧凑”状态提交表单,隐藏div中的表单变量也会提交并显示在地址栏中。
如何更改此行为,以便仅提交可见的表单字段?
我有一些隐藏DIV(style =“display:none;”)域的表单。用户可以点击一个按钮,显示这些额外的字段,如果他们希望。隐藏DIV中的表单域
现在,如果用户以其“紧凑”状态提交表单,隐藏div中的表单变量也会提交并显示在地址栏中。
如何更改此行为,以便仅提交可见的表单字段?
使用POST而不是GET。
将字段隐藏时将disabled
属性设置为true,并在显示字段时再次启用它们。 disabled
将阻止他们被提交。
你必须想出一个JS方法,只提交你想要的值的表单。它目前的工作方式是正常的浏览器行为。仅仅因为表单域被隐藏起来并不意味着它们不应该被提交。
如果可以的话,使用POST而不是GET,你不必担心它。
将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库,做到这一点更优雅。
这就是所有的CSS工作真的。 .hidden_div_1表单{... visibility:hidden;禁用:禁用;只读:只读; }
我想添加不透明度:0.0;也只是因为我永远不知道什么时候我想稍后为其他原因进行调整。
或者您可以通过点击某个按钮,链接,选项等从一个div切换到另一个div,从而在您的js和服务器页面中丢弃其他div。 – 2013-08-17 21:06:19
这是一个搜索表单,所以它使生活更容易使用GET。我会尝试禁用的属性,将与GET工作? – GSTAR 2010-12-13 15:14:50
是被禁用的属性也可以和GET一起使用 – Cfreak 2010-12-13 20:01:13