JQuery / PHP多个文件一次只有一个输入字段

时间:2013-08-26 15:56:15

标签: php jquery

我在网上搜索,但在我的问题上找不到太多东西。希望有人在这里可以帮忙! 当我在标题中写道时,我想一次一个地上传多个文件,只有一个输入。 我尝试使用JQuery来做到这一点,如下所示,但显然它不起作用! 有人可以帮忙吗?

    <!doctype html>
    <html>
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <head>
    <script>
    $(document).ready(function() {
        $(document).on('change', '.file',function(){
            $('<input type="file" name="file[]" class="file" size="60" />').appendTo($("#divAjout"));
            $("div input:first-child").remove();    
          return false;
        });
    });
    </script>

    <title>test input file unique pour plusieurs fichiers</title>
    </head>

    <body>
    <form action="" method="post" enctype='multipart/form-data'>
    <div id="divAjout">
        <input type="file" name="file[]" class="file" id='file' size="60" />
        </div>


        <input name="submit" type="submit">
    </form>
    <?php       if(isset($_POST['submit'])){echo'<pre>'; print_r($_FILES);echo'<pre>';} ?>
    </body>
    </html>

1 个答案:

答案 0 :(得分:0)

您可以使用递增名称属性克隆输入文件,如文件[0],文件[1],文件[2]等。

function readURL(input) {
                var index = ($(input).data('index'));
                if (input.files && input.files[0]) {
                    var reader = new FileReader();
                    reader.onload = function (e) {
                        $(input).parent().children('.newImage')
                            .attr('src', e.target.result)
                            .height(120);
                    };
                    reader.readAsDataURL(input.files[0]);

                    $('.addPh').show();
                    $('.addPh').last().clone().insertBefore($('#addPhoto')).hide();
                    ++index;
                    $('.addPh').last().children('.photo_new').data('index', index).attr('name', 'photo_new['+index+']');
                }
}

$(document).ready(function () {
    $('#addPhoto').click(function () {
        $('.photo_new').last().click();
    });

});

请参阅此示例:https://jsfiddle.net/w0cd3Ls4/3/