我有帶有輸入文件的表單,可以通過特定按鈕進(jìn)行克隆。當(dāng)我選擇某個(gè)文件,克隆輸入字段,然后選擇新文件(在新輸入字段中)并提交時(shí),我沒有獲取ajax文件中的所有第一個(gè)文件數(shù)據(jù)。這是主頁中的 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);?>網(wǎng)絡(luò)調(diào)試: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 回答

翻翻過去那場(chǎng)雪
TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊
未經(jīng)測(cè)試,但嘗試創(chuàng)建新的輸入字段而不是克隆舊的輸入字段。
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 指令。
因此,您需要調(diào)整 php.ini 設(shè)置或在 .htaccess 文件中重載它。
- 1 回答
- 0 關(guān)注
- 108 瀏覽
添加回答
舉報(bào)
0/150
提交
取消