如何使用javascript隐藏HTML输入字段

时间:2010-11-23 16:07:50

标签: javascript html dom

我需要用javascript隐藏文本输入字段。将其type属性更改为hidden在IE中不起作用(安全问题)。

最好的方法是什么?

注意:不能假设jQuery或其他lib。

4 个答案:

答案 0 :(得分:1)

我假设您必须根据表单中不断变化的条件动态显示和隐藏文本字段,否则您只需将其设为<input type="hidden"...即可。

保持您的代码按原样显示和隐藏字段,同时也抓住onsubmit事件。

在提交处理程序中,通过document.getElementById(...)(或访问document.forms[i])获取文字字段,然后检查其是否隐藏。

如果隐藏了 ,请为<input type="hidden" ...>字段创建一个新DOM节点,并将该节点添加到表单中,可能是通过myform.appendChild(...)。您必须为其提供服务器端代码所需的名称。将隐藏文本字段的内容复制到新创建的type = hidden字段中,然后从提交处理程序返回,允许标准提交继续。

您也可以在提交时取消隐藏文本字段,但您也必须将其“移出屏幕”,否则用户会在提交处理期间再次显示它。

答案 1 :(得分:0)

您可以更改它的唯一方法是在将其附加到DOM之前。您可以创建一个新元素,然后用它替换当前元素。

查看replaceChild和createElement,因为您要进行手动DOM脚本编写。我假设你知道该怎么做。

编辑:“隐藏”字段据我所知 已发送。你有没有检查过它们?你也可以position:absolute; left:-9999em;来抵消它们。

答案 2 :(得分:0)

document.myform.myelement.style.display ='none'

即使在Internet Explorer中也能按预期工作。

答案 3 :(得分:0)

尝试将其包装在div或span中,然后在要隐藏它时将显示样式设置为none,然后在需要时阻止(如果使用div)或内联(如果使用了span)展示它。