我有帶有輸入文件的表單,可以通過特定按鈕進行克隆。當我選擇某個文件,克隆輸入字段,然后選擇新文件(在新輸入字段中)并提交時,我沒有獲取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 關注
- 100 瀏覽
添加回答
舉報
0/150
提交
取消