我正在用VS2012和Javascript开发一个地铁应用程序
我想重置我的文件输入的内容:
<input type="file" id="uploadCaptureInputFile" class="win-content colors" accept="image/*" />
我该怎么做呢?
我正在用VS2012和Javascript开发一个地铁应用程序
我想重置我的文件输入的内容:
<input type="file" id="uploadCaptureInputFile" class="win-content colors" accept="image/*" />
我该怎么做呢?
当前回答
重置输入文件是非常单一的
$('input[type=file]').val(null);
如果你绑定重置文件中更改表单的其他字段,或者用ajax加载表单。
本例适用
选择器,例如$('input[type=text]')或表单的任何元素
事件单击,更改,或任何事件
$('body').delegate('event', 'selector', function(){
$('input[type=file]').val(null) ;
});
其他回答
重置输入文件是非常单一的
$('input[type=file]').val(null);
如果你绑定重置文件中更改表单的其他字段,或者用ajax加载表单。
本例适用
选择器,例如$('input[type=text]')或表单的任何元素
事件单击,更改,或任何事件
$('body').delegate('event', 'selector', function(){
$('input[type=file]').val(null) ;
});
你可以克隆它,用它自己替换它,所有事件仍然附加:
<input type="file" id="control">
and
var input = $("#control");
function something_happens() {
input.replaceWith(input.val('').clone(true));
};
谢谢:csstricks.com
这是最好的解决方案:
input.value = ''
if(!/safari/i.test(navigator.userAgent)){
input.type = ''
input.type = 'file'
}
在所有的答案中这是最快的解。没有输入克隆,没有窗体重置!
我在所有浏览器中都检查了它(它甚至支持IE8)。
@dhaval-marthak在评论中发布的jQuery解决方案显然是有效的,但如果你看看实际的jQuery调用,就很容易看出jQuery在做什么,只是将value属性设置为空字符串。所以在“纯”JavaScript中,它将是:
document.getElementById("uploadCaptureInputFile").value = "";
你应该试试这个:
$("#uploadCaptureInputFile").val('');