我想在更改功能中使用数组名称

时间:2017-02-11 20:13:03

标签: javascript html arrays arraylist

我想检查一下它的有效图像。 我的代码有效图像如下,其工作完善但是,当它的图像数组时,它不起作用?

$("#file").change(function() {
    var val = $(this).val();
    switch(val.substring(val.lastIndexOf('.') + 1).toLowerCase()){
        case 'gif': case 'jpg': case 'png':
            //alert("an image");
            break;
        default:
            $(this).val('');
            // error message here
            alert("Please Select Valid Image");
            break;
    }

});

它对一个图像的完美工作意味着它对id的工作,但现在我想使用图像数组然后我做什么?它可能与否?

<input id="file" type="file" name="images[]">Enter 8 Images For Batter Product View
<input type="button" id="addmore" value="Add More Image">

添加更多图像,它给我新的图像,所以我采取一个数组,所以我想检查数组这个更改功能是否有效图像? 有可能吗?

感谢

2 个答案:

答案 0 :(得分:0)

类型$.ajax({ url: 'makeDBEntry/archive', data: formData, contentType: false, processData: false, type: 'POST', success: function(data){ console.log(data); } }); 的输入具有名为files的属性,该属性是用户选择的文件的数组。它包含名称和大小等信息。您可以遍历它们并检查用户是否输入了有效图像,如下所示:

file

注意:检查文件是否是客户端的图片并不总是有效,用户可以通过更改文件的扩展名来绕过您的支票。 ; t图像,例如$("#file").change(function() { var files = this.files; // get the array of files var valid = true; for(var i = 0; i < files.length && valid; i++) { // while there still files in the array, and valid still true var val = files[i].name; // get the current filename // check if the file is a valid image or not (if not don't forget to set valid to false) switch(val.substring(val.lastIndexOf('.') + 1).toLowerCase()){ case 'gif': case 'jpg': case 'png': // this is a valid image break; default: // this is not a valid image so "valid" should become false valid = false; break; } } if(!valid) // if valid was set to false insde the array (means an invalid file was selected) alert("select valid images"); }); 。阅读更多here

答案 1 :(得分:0)

我只需将id="file"更改为class="file",这对我有用。

<input class="file" type="file" name="images[]">Enter 8 Images For Batter Product View

<input type="button" id="addmore" value="Add More Image">

<script type="text/javascript">
$(".file").change(function() {
    var val = $(this).val();
    switch(val.substring(val.lastIndexOf('.') + 1).toLowerCase()){
        case 'gif': case 'jpg': case 'png':
            //alert("an image");
            break;
        default:
            $(this).val('');
            // error message here
            alert("Please Select Valid Image");
            break;
    }

});