iT邦幫忙

0

(已解決)同一表單內,有多個上傳按鈕

希望能在同一個form表單內,有多個上傳按鈕。

網路查一查,只知道<input type="file">的name要取名不一樣。

實作後,只有第一個按鈕可以成功上傳,第二個按鈕以後的就無法上傳。

還請大師們給個方向,感激不盡......^___^

html

<form action="uploadFile.php" method="POST" enctype="multipart/formdata" name="form1" id="myForm">
    <input type="file" name="myFile_1" multiple id="myFile" class="btn btn-info" /></input><br />
    <input type="file" name="myFile_2" multiple id="myFile" class="btn btn-info" /></input><br />
    <input type="file" name="myFile_3" multiple id="myFile" class="btn btn-info" /></input><br />
</form>

javascript

$(document).ready(function(){
	$("#myFile").on("change", function(){
		var input = $(this);
		var inputLength = input[0].files.length; //No of files selected
		var file;
		var formData = new FormData();

		for (var i = 0; i < inputLength; i++) {
			file = input[0].files[i];
			formData.append( 'myFile[]', file);
		}
		//send POST request to upload.php
		$.ajax({
			url: "uploadFile.php",
			type: "POST",
			data: formData,
					processData: false,
					contentType: false,
					beforeSend: function(){
						$(".loading").show();
					}
		}).done(function( data ) {
			$(".loading").hide();
			$("#resultArea").append(data);
			input.val('');
		});
	});
});

uploadFile.php

<?php
	foreach ($_FILES["myFile"]["error"] as $key => $error) {
		if($error == 0){
		$name = $_FILES["myFile"]["name"][$key];
		$uploadPath = "uploads/" . $name;
			if(move_uploaded_file( $_FILES["myFile"]["tmp_name"][$key], $uploadPath)){
				echo "<a href='".$uploadPath."' target='_BLANK'>".$name."</a><br>";
		    }
		}
	}
?>
看更多先前的討論...收起先前的討論...
柯柯 iT邦新手 5 級 ‧ 2018-11-23 16:38:35 檢舉
$('.btn').on('click',function(){});
Homura iT邦研究生 2 級 ‧ 2018-11-23 16:51:09 檢舉
id是唯一值
你不能3個都叫一樣id!@@
小魚 iT邦高手 1 級 ‧ 2018-11-23 17:07:36 檢舉
你的id跟name相反了, name可以一樣, id不能一樣.
小斑 iT邦新手 4 級 ‧ 2018-11-26 10:01:41 檢舉
感謝

我把html改成
```
<form action="uploadFile.php" method="POST" enctype="multipart/formdata" name="form1" id="myForm">
<input type="file" name="myFile" multiple id="myFile_1" class="btn btn-info" /></input><br />
<input type="file" name="myFile" multiple id="myFile_2" class="btn btn-info" /></input><br />
<input type="file" name="myFile" multiple id="myFile_3" class="btn btn-info" /></input><br />
</form>
```

變成都不能上傳了,不知道還有哪裡有問題?
小斑 iT邦新手 4 級 ‧ 2018-11-26 11:32:24 檢舉
謝謝大家,我知道怎麼改了^___^

2 個回答

0
浩瀚星空
iT邦研究生 3 級 ‧ 2018-11-23 17:24:29
最佳解答

請記得不要用到同名id。id名只能唯一性。
如果使用同名id就會發生你這樣只有一個會有作用的情況。

小斑 iT邦新手 4 級 ‧ 2018-11-26 10:01:11 檢舉

感謝

我把html改成

<form action="uploadFile.php" method="POST" enctype="multipart/formdata" name="form1" id="myForm">
    <input type="file" name="myFile" multiple id="myFile_1" class="btn btn-info" /></input><br />
    <input type="file" name="myFile" multiple id="myFile_2" class="btn btn-info" /></input><br />
    <input type="file" name="myFile" multiple id="myFile_3" class="btn btn-info" /></input><br />
</form>

變成都不能上傳了,不知道還有哪裡有問題?

浩瀚星空 iT邦研究生 3 級 ‧ 2018-11-26 10:32:11 檢舉

你是來學習的還是學生來要答案的?

你該不會只有改了id名就想要直接用?
你程式也要跟著id名改啊?

不需要人家一步一步來告訴你該怎麼做吧?

小斑 iT邦新手 4 級 ‧ 2018-11-26 11:32:08 檢舉

抱歉......

因為是新手,還在學習階段,所以不太懂

也謝謝您,我知道怎麼改了^___^

0
kkdayy_55330
iT邦新手 5 級 ‧ 2018-11-25 19:31:34

id是唯一值~~~~

小斑 iT邦新手 4 級 ‧ 2018-11-26 10:01:29 檢舉

感謝

我把html改成

<form action="uploadFile.php" method="POST" enctype="multipart/formdata" name="form1" id="myForm">
    <input type="file" name="myFile" multiple id="myFile_1" class="btn btn-info" /></input><br />
    <input type="file" name="myFile" multiple id="myFile_2" class="btn btn-info" /></input><br />
    <input type="file" name="myFile" multiple id="myFile_3" class="btn btn-info" /></input><br />
</form>

變成都不能上傳了,不知道還有哪裡有問題?

小斑 iT邦新手 4 級 ‧ 2018-11-26 11:32:31 檢舉

謝謝大家,我知道怎麼改了^___^

我要發表回答

立即登入回答