Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Ajax表单一个接一个地发送文件_Html_Jquery - Fatal编程技术网

Html Ajax表单一个接一个地发送文件

Html Ajax表单一个接一个地发送文件,html,jquery,Html,Jquery,我有一个用ajax发送的表单。 在这个表单中有x个输入文件,每个文件有2个输入文本 当我发送表单时,所有文件都同时发送 所以我想做的是一次发送一个文件和他的2个输入文本 这是我的密码: HTML 选择您的姓名和图片: 抱歉没有打招呼:pIt看起来你已经在通往解决方案的路上了。你能描述一下它失败的地方吗?:)为什么不使用2个表单,即1个表单用于1个i/P,2个表单用于另一个i/P,并使用JS为表单提交提供时间延迟..您的代码应该为每个文件发送一个ajax请求,就像现在一样。但是我建议您在jQue

我有一个用ajax发送的表单。 在这个表单中有x个输入文件,每个文件有2个输入文本

当我发送表单时,所有文件都同时发送

所以我想做的是一次发送一个文件和他的2个输入文本

这是我的密码:

HTML


选择您的姓名和图片:

抱歉没有打招呼:pIt看起来你已经在通往解决方案的路上了。你能描述一下它失败的地方吗?:)为什么不使用2个表单,即1个表单用于1个i/P,2个表单用于另一个i/P,并使用JS为表单提交提供时间延迟..您的代码应该为每个文件发送一个ajax请求,就像现在一样。但是我建议您在jQuery.each循环中编写这段代码“var formData=new formData();”,因为您只是在每次迭代中向表单数据添加越来越多的文件。我做了一个foreach循环,但它会发送所有文件,我不知道如何发送每个文件
<div id="img_upload">
<form action="#" id="form" method="POST" enctype="multipart/form-data">
    <div id="img_upload_head">
        <?php
            require MODULE.DS."galerie".DS."traitement".DS."galerie".DS."recup.php";
        ?>
        <label for="nbImg">Selectionner le nombre d'image que vous voulez inserrer : </label>
        <select name="nbImg">
            <?php  $nb = 10;
                  for ($i= 0; $i<=$nb; $i++){
                    ?>
                        <option name="<?php echo $i;?>"><?php echo $i;?></option>
                    <?php
                  }             
            ?>
        </select>
    </div>
    <div id="img_upload_content">
        <div id="content_head">
            <div class="title_name">Selection fichier</div>
            <div class="title_desc">Description</div>
            <div class="title_price">Prix</div>
            <div class="title_error">status</div>
        </div>      
        <div id="content_list">

        </div>
    </div>
    <div id="img_upload_foot">

        <input type="submit" name="send" value="send" id="send" />


    </div>
</form>
$(document).ready(function(){
    $("select[name=nbImg]").hide();
    $("#send").hide();
    $("select[name=gal]").change(function(){

        var galSelect = $(this).val();
        if (galSelect != "none"){
            $("select[name=nbImg]").fadeIn("fast");
            $("select[name=nbImg]").change(function(){

                var selfElem = $(this);

                var nbImg = selfElem.val();

                $("#content_list").empty();



                for (var i = 1; i <= nbImg ; i++){
                    $("#content_list").append("<p id=\"file#"+i+"\"><span class=\"name\"><input type=\"file\" name=\"img[]\"id=\"img\" /></span><span class=\"desc\"><input type=\"text\" id=\"desc\" name=\"desc\" /></span><span class=\"price\"><input type=\"text\" id=\"price\" name=\"price\" /></span><span class=\"error\"></span></p>");
                }

                $("#send").fadeIn("fast");

                $("#send").click(function(e){
                    e.preventDefault();
                    var form    =   $(this).parents("form");
                    var p       =   form.find("p");


                    var action = "/module/galerie/traitement/traitimg.php";
                    var desc = form.find("input[name=desc]").val();
                    var gal = $("select[name=gal]").val();
                    var price = form.find("input[name=price]").val();

                    var formData = new FormData();

                    jQuery.each($(p).find('input[name^="img"]')[0].files, function(i, file) {
                        formData.append('img-'+i, file);
                        formData.append('desc', desc);
                        formData.append('price', price);
                        formData.append('gal', gal);
                        jQuery.ajax({
                            url :action,
                            type : "POST",
                            processData: false,
                            contentType: false,
                            data: formData,
                            success: function(formData){

                            }
                        });

                    });


                    return false;

                });



            });
        }else{$("select[name=nbImg]").fadeOut("fast");}
    });
for (var i = 1; i <= nbImg; i++){
                        jQuery.each($(p).find('input[name^="img"]')[0].files, function(i, file) {
                            var formData = new FormData();
                            formData.append('img-'+i, file);
                            formData.append('desc', desc);
                            formData.append('price', price);
                            formData.append('gal', gal);
                            jQuery.ajax({
                                beforeSend : function(){
                                    $(".error").empty().append("<img src=\"/media/design/img/loader.gif\"/>");
                                },
                                url :action,
                                type : "POST",
                                processData: false,
                                contentType: false,
                                data: formData,
                                success: function(formData){
                                    $(".error").empty().append("<img src=\"/media/design/img/v.png\"/>");
                                }
                            });

                        });
                    }
jQuery.each($(p).find('input[name^="img"]')[0].files, function(i, file) {
                            var formData = new FormData();
                            formData.append('img-'+i, file);
                            formData.append('desc', desc);
                            formData.append('price', price);
                            formData.append('gal', gal);
                            jQuery.ajax({
                                beforeSend : function(){
                                    $(".error").empty().append("<img src=\"/media/design/img/loader.gif\"/>");
                                },
                                url :action,
                                type : "POST",
                                processData: false,
                                contentType: false,
                                data: formData,
                                success: function(formData){
                                    $(".error").empty().append("<img src=\"/media/design/img/v.png\"/>");
                                }
                            });

                        });