jquery中判断数组是否为空

<form action="">
<input type="file" name="fname[]" />
<input type="file" name="fname[]" />
<input type="file" name="fname[]" />
<input type="file" name="fname[]" />
</form>这是一个批量上传图片,jquery中如何判断上传文件是否为空,也就是一个都没上传

可以通过判断数组的长度length来判断数组是否为空百,空数组的length值为空。数组的
length
属性总是比数组中定义的最后一个元素的下标大
1。对于那些具有连续元素,而且以元素
0
开始的常规数组而言,属性
length
声明了数组中的元素的个数。数组的
length
属性在用构造函数
Array()
创建数组时被初始度化。给数组添加新元素时,如果必要,将更新
length
的值。
设置
length
属性可改变数组的大小。如果设置的值比其当前值小,数组版将被截断,其尾部的元素将丢失。如果设置的值比它的当前值大,数组将增大,新的元素被添加到数组的尾部,它们的值为权
undefined。
工具原料:编辑器、浏览器
1、如果一个数组为空则其属性length为0否则为数组的实际长度,代码如下:
var a=[]
var b=[1,2,3]
a.length
b.length2、早console的控制台的输出结果如下:
3、a按照这个原理直接判断数组的长度即可判断数组是否为空:
if(rr.length == 0){
console.log("数组为空");
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-09
var arr = [];
if(arr && arr.length > 0){
alert("arr is null");
}追问

能不能详细点 照着我那个表单来

第2个回答  2014-07-09
var fileobj = $("input[name='fname[]']");
if (fileobj.length == 0) {
alert("请选择上传文件");

} else {
//执行上传代码

}追问

不对
var fileobj = $("input[name='fname[]']").val();
if (fileobj.length == 0) {
alert("请选择上传文件");

} else {
//执行上传代码

}这样可以阻止表单提交,但是文件表单点击不了了,加载不了文件

追答

额。。看错了,以为是checkbox呢。。

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script src="jquery-2.0.3.min.js"></script>
<script>
function check() {
var flag = false;
$("input[name='fname[]']").each(function() {
if ($(this).val() != "") {
flag = true;
return false;
}
});
return flag;
}

function upload() {
if(check()) {
//执行上传代码
alert("已经选择文件了");
} else {
alert("请选择想要上传的文件");
}
}

</script>

<form action="">
<input type="file" name="fname[]" />上传1<br/>
<input type="file" name="fname[]" />上传2<br/>
<input type="file" name="fname[]" />上传3<br/>
<input type="file" name="fname[]" />上传4<br/>
<input type="button"  value="确定" onclick="upload();" />
</form>
这回应该对了

本回答被提问者采纳
第3个回答  2015-10-10
使用jquery获取name属性的标签数组,然后使用each方法遍历数组,判断标签数组中的值是否存在,若存在且不为空,则返回true,否则返回false;
示例代码:
function check() {
var flag = false;
$("input[name='fname[]']").each(function() {
if ($(this).val() != "") {
flag = true;//判断标签数组中的值是否存在,若存在且不为空,则返回true
return false; //此返回false是结束each遍历
}
});
return flag;//返回最后的结果
}本回答被网友采纳

jquery中判断数组是否为空
可以通过判断数组的长度length来判断数组是否为空百,空数组的length值为空。数组的 length 属性总是比数组中定义的最后一个元素的下标大 1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。数组的 length 属性在用构造函数 Array()创建数组时被初始度化...

jquery如何判断数组是否为空?
可以使用jquery的length属性实现判断数组是否为空。具体步骤如下:需要准备的材料分别是:电脑、浏览器、ultraedit。1、在ue编辑器中新建一个空白的html文件,js文件。2、在ue编辑器中输入以下html代码。3、在ue编辑器中输入以下js代码。4、编辑完成以后,在ue编辑器中点击保存,格式选择UTF8无BOM。5、在...

jquery判断字符在不在数组中
判断数组是否为空,可以用length方法:如vara=[];if(a.length==0){alert(1)}else{alert(2)}判断数组为空不能用if(a),因为a这个时候是一个空数组对象,if会判断当前a是对象,返回true的

jquery中 if($("li")[2]) 是什么意思呀?
if($("li")[2]),里面的判断条件,会返回布尔值。true就执行,flase就执行else里的,或者执行if外面的语句。

【干货】一文掌握JavaScript检查对象空值的N种技巧!
检查对象前,可防止因尝试访问空对象导致的错误。数据验证:表单提交前,确认用户提供了所有必要信息,否则处理异常。流程控制:根据对象存在与否,决定执行路径或返回默认值。数据处理:处理前判断对象是否为空,防止无用操作。用户界面:对象空与否影响特定元素的显示和交互。下面是检查对象空值的几种方式:...

jquery判断数组是否包含
function contain(Array,s){ for(var i=0;i<Array.length;i++)if(Array[i] == s)return "checked=checked";return " ";} Array是数组,s是要判断的是否包含的值。

jquery怎么判断值是否存在于数组中
var arr = [ 4, "Pete", 8, "John" ];jQuery.inArray("John", arr); \/\/3jQuery.inArray(4, arr); \/\/0jQuery.inArray("David", arr); \/\/-1jQuery.inArray("Pete", arr, 2); \/\/-1

JQuery判断是否在数组里
你的数组里放的都是键值对,是不存在1这个元素的 arr=={"one":1,"two":2,"three":3},数组有三个属性,但是数组长度为0,arr.push(1);这样就有了

jquery 怎样判断数据是否在数组中
function isInArray(data,array){ for(var i=0;i<array.length;i++){ var item=array[i];if(data===item){ return true;} } return false;}

jquery中each方法的问题
undefined也是一种对象啊 既然这个对象是undefined的,就不用移除了,因为本身就不存在了

相似回答