Jquery/Javascript检查输入文件是否有文件
//这不是一个重复的问题,但我需要做的是检查文件输入元素是否从javascript代码中的任何位置获取了文件,而不依赖于内置事件Jquery/Javascript检查输入文件是否有文件,javascript,jquery,Javascript,Jquery,//这不是一个重复的问题,但我需要做的是检查文件输入元素是否从javascript代码中的任何位置获取了文件,而不依赖于内置事件 //例如… $('input_element').change(function(event){ //code... //any code here but if(event.target.files.length>0){
//例如…
$('input_element').change(function(event){
//code...
//any code here but
if(event.target.files.length>0){
//files around/selected
}else{
//code..
//files not around/selected
}
})
//But i need to check if files selected without that event ( anonymously... )
//like
if($('input_element').get(0).files.length>0){
//code
//here i get an error "can not read propert length of undefined!"
console.log('files are selected!')
}else{
//code ...
//do something...
}
**//any help appreciated!**
如果从jQuery对象开始,例如,
var$input=$(选择器)
,则需要使用其本机HTML元素,使用$input[0]
来访问其包含文件
数组的属性
下面是一个简单的例子:
$(函数(){
var$input=$('[name=file]');
$(“按钮”)。单击(函数(){
警报($input[0].files.length?“已选择文件”:“未选择任何文件”);
})
});代码>
选中
$('input_element').get(0).target.files.length
try您可以将偶数函数移到侦听器之外。所以你需要函数check(){/*…*/}$('input_element');检查()
$('input\u element').get(0).target.files.length已经存在,如果未定义,它将返回无法就绪的属性长度它应该是$('input\u element').get(0).files.length
不带.target
或更短的$('input\u element')[0]。files.length
。
<input id="fileInput" type="file">
document.getElementById('fileInput').files.length > 0 // will be true if there's a file