将输入从隐藏更改为文件
Change input from hidden to file
我在更改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">
试试这个:
function show(x, y) {
if (document.getElementById(y).checked) {
document.getElementById(x).type = 'text';
} else {
document.getElementById(x).type = 'file';
}
}
Fiddle1
function show(x, y) {
if (document.getElementById(y).checked) {
document.getElementById(x).type = 'text';
} else {
document.getElementById(x).type = 'hidden';
}
}
Fiddle2
Fiddle3
下面的代码应该可以工作。
Javascript代码
document.getElementById(selector).setAttribute("type","file");
jQuery代码
$(selector).attr('type', 'file');
样本代码
HTML
<input type="checkbox" id="chkTest" onclick="myFunction()">
<input type="hidden" id="hdnFld" />
Java脚本
function myFunction() {
if(document.getElementById("chkTest").checked) {
document.getElementById("hdnFld").setAttribute("type","text");
} else{
document.getElementById("hdnFld").setAttribute("type","file");
}
}
相关文章:
- HTML5要求隐藏文件字段-反馈位置
- 隐藏错误消息“;未选择文件”;asp:fileUpload的文本
- 将多个值保存到隐藏文件
- 为什么在下面的场景中,用于存储所选文件名和文件路径的隐藏输入字段没有在表单上生成
- 单击跨度内的隐藏文件输入会导致RangeError
- 在Chrome开发工具中隐藏JavaScript文件
- 如何在Fine Uploader中隐藏文件扩展名
- 如何使用javascript隐藏上传文件元素
- 如何更改CSS文件或隐藏<link>标签
- 如何在asp.net的代码隐藏文件中显示对话框
- 我想隐藏一个没有'没有js文件中的id.我想不通,请告诉我
- 从Google Drive获取文件并隐藏到Blob
- 使用模态上的文件输入字段更新主视图上的隐藏字段
- 如何隐藏您网站的javascript文件
- 隐藏内容空间 ID 和访问令牌,客户端 JavaScript 文件
- 如何显示/隐藏 PHP 文件中的 html 消息
- 将Javascript隐藏在SWF文件中
- 如何在 Meteor 的标头中隐藏 JS 文件
- JavaScript外部文件隐藏源代码
- 输入类型文件隐藏点击