我有带有输入文件的表单,可以通过特定按钮进行克隆。当我选择某个文件,克隆输入字段,然后选择新文件(在新输入字段中)并提交时,我没有获取ajax文件中的所有第一个文件数据。这是主页中的 html:<a href="#" class="clone-ele-btn" data-target="clone_box" data-des="clone_des">Clone</a><form action="#" method="post" enctype="multipart/form-data"> <span id="clone_box"> <input type='file' name='file[]' /> </span> <span id="clone_des"></span> <a href="#" class="new-files-btn">Submit</a> </form>查询:// CLONE FILE INPUT FIELD$(document).on("click", ".clone-ele-btn", function(e){ var target = $(this).data("target"); var des = $(this).data("des"); $( "#" + target ).clone().appendTo( "#" + des ); e.preventDefault(); });// UPLOAD FILES$(document).on("click", ".new-files-btn", function(e){ var form = $(this).closest('form')[0]; var formData = new FormData(form); $.ajax ({ type: 'POST', url: 'ajax/files-control.php', data: formData, dataType: 'json', contentType: false, cache: false, processData:false }).done(function(data) { .... ... ..文件控制.php:<?PHP var_dump ($_FILES);?>网络调试:C:\wamp3\www\folder\ajax\files-control.php:13:array (size=1) 'file' => array (size=5) 'name' => array (size=2) 0 => string 'IMG_8913.JPG' (length=12) 1 => string 'I-dont-have.jpg' (length=36) 'type' => array (size=2) 0 => string '' (length=0) 1 => string 'image/jpeg' (length=10) 'tmp_name' => array (size=2) 0 => string '' (length=0) 1 => string 'C:\wamp3\tmp\php36B6.tmp' (length=24) 'error' => array (size=2) 0 => int 1 1 => int 0 'size' => array (size=2) 0 => int 0 1 => int 50906
1 回答
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
未经测试,但尝试创建新的输入字段而不是克隆旧的输入字段。
let el = document.createElement('input'); el.type = 'file'; el.name = 'file[]'; document.getElementById('clone_box').appendChild(el);
jQuery 方式
$("#clone_box").append('<input type="file" name="file[]">');
更新
造成问题的不是字段,而是文件本身。它太大并且超出了 php.ini上传限制。
UPLOAD_ERR_INI_SIZE
值:1;上传的文件超出了 php.ini 中的 upload_max_filesize 指令。
因此,您需要调整 php.ini 设置或在 .htaccess 文件中重载它。
- 1 回答
- 0 关注
- 77 浏览
添加回答
举报
0/150
提交
取消