使HTML中的隐藏输入框可见

7

当我点击按钮时,我希望将一个不可见的HTML输入框变为可见,如下所示。

创建隐藏输入框的HTML行如下:

<input type="hidden" id="txtHiddenUname" value="invalid input" />

我用于改变可见性的JavaScript代码如下:

var y = document.getElementById("txtHiddenUname");
y.style.display= "inline";

但这并不能使隐藏元素可见。

有什么想法吗?


你必须将值更改为“有效输入”,否则它仍然无效。 - adeneo
2个回答

6
您应该将输入元素的类型更改为:
 y.setAttribute('type','text'); 
 //or
 y.type = 'text';

1) 可以在body标签内使用以下JavaScript:

<input type="hidden" id="txtHiddenUname" value="invalid input" />

<script type="text/javascript">
var y = document.getElementById("txtHiddenUname");
y.type= "text";
</script>

或者

2) 使用一些事件处理器,如 onload

<head>
<script type="text/javascript">
function on_load(){
    var y = document.getElementById("txtHiddenUname");
    y.type= "text";
}
    </script>
</head>

<body onload = "on_load()">

<input type="hidden" id="txtHiddenUname" value="invalid input" />

...

为了让文档对象模型(DOM)准备就绪。

我尝试了一下,确实可以使文本可见。但是可见性只保持毫秒级别,然后就会回到不可见模式。 - kona
在某些元素上发生某些事件之后,例如按钮单击或其他事件,使用此代码。 - Lekhnath

2
这里不是关于CSS的问题,而是关于属性的问题。因此,您需要将type属性从hidden更改为其他内容,如text
请参考这篇文章:[如何在JavaScript中更改HTML对象元素数据属性值][1]
请查看这个链接:如何使用jQuery或Javascript更改HTML对象元素数据属性值,以了解如何更改属性值。
[1]: https://www.w3docs.com/snippets/javascript/how-to-change-the-value-of-a-data-attribute-in-javascript.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接