javascript - 将输入从隐藏更改为文件

标签 javascript html

我在更改 javascript 中的输入类型时遇到问题。 当我从隐藏更改为文本时可以正常显示,但是当我更改为文件输入时不显示。

<script type="text/javascript">
  function show(x,y) {
    if (document.getElementById(y).checked) {
        document.getElementById(x).setAttribute('type', 'file');
    } else {
        document.getElementById(x).setAttribute('type', 'hidden');
    }

}
</script>

最佳答案

/*JQUERY
function show(x,y){
$(y).change(function() {
    $("#txtAge").text(this.checked);
    if(this.checked) $(x).attr('type','text')
    else $(x).attr('type','file');
});
}
show('#a','#isAgeSelected');*/
//JAVASCRIPT
function show(x,y,z){
var typedefault=document.getElementById(x).type;
document.getElementById(y).onchange=function(){
    document.getElementById('txtAge').innerText=this.checked;
    if(this.checked){
        document.getElementById(x).type = z;
    } else {
       document.getElementById(x).setAttribute('type',typedefault);
    }
};
}
show('a','isAgeSelecteda','text');
show('b','isAgeSelectedb','text');
show('c','isAgeSelectedc','file');

/*
function supportsFileInput() {
  var dummy = document.createElement("input");
  dummy.setAttribute("type", "file");
  return dummy.disabled === false;
}
alert(supportsFileInput());
*/
<input id="isAgeSelecteda" type="checkbox">
<input id="isAgeSelectedb" type="checkbox">
<input id="isAgeSelectedc" type="checkbox">
<p id="txtAge"></p>
<input type="hidden" id="a">
<input type="file" id="b">
<input type="hidden" id="c">

关于javascript - 将输入从隐藏更改为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26317456/

相关文章:

javascript - 如何实现干净的方法来告诉我的对象的所有图像都已加载?

javascript - 动态添加一些<span> </span>,将内容移出容器

javascript - jQuery - 自动完成属性未应用于动态创建的组合框?

javascript - 在 WebView 中从 JavaScript 本地保存文件

javascript - 盒子后面奇怪的盒子阴影

javascript - 如何更改单击的特定按钮的样式?

javascript - 滚动固定部分

javascript - 如何检测选择了哪个选项?

javascript - Canvas 对象更新位置并重绘对象

javascript - 脚本第一次运行时 $.getJSON() 无法正常工作,但第二次运行时可以正常工作。我如何让它第一次运行?