單個表單時
代碼如下
<form action="?" method="post" enctype='multipart/form-data'>
文件上傳:<input type="file" name="file" id="file" />
<input type="submit" id="send" value="提交" />
</form>
<?php
//判斷pic文件框是否已經選擇文件
if (!empty($_FILES['file']['tmp_name'])) {
echo '已選擇文件';
}else {
echo '請選擇文件';
}
//PS:$_FILES後面的['tmp_name']一定不要忘寫,它表示是一個臨時的意思
?>
當然這個可以先用JS去判斷一下,方法如下:
代碼如下<script>
var send=document.getElementById("send");
send.onclick=function() {
var file=document.getElementById("file").value;
if (file.length<1) {
alert('請選擇圖片');
return false;
}
}
</script>
多文件上傳時<input type="file" name="uploadfile" contentEditable="false" style="width:80%">
表單中有多個,
提交表單時需要判斷其中至少要有一個input已經選擇好文件。
代碼如下<input type="file" name="uploadfile" contentEditable="false" style="width:80%"><br>
<input type="file" name="uploadfile" contentEditable="false" style="width:80%"><br>
<input type="file" name="uploadfile" contentEditable="false" style="width:80%"><br>
<input type="file" name="uploadfile" contentEditable="false" style="width:80%"><br>
<input type="file" name="uploadfile" contentEditable="false" style="width:80%">
使用jQuery進行判斷:
代碼如下var fileFlag = false;
$("input[name='uploadfile']").each(function(){
if($(this).val()!="") {
fileflag = true;
return false;
}
});
if(fileFlag) {
alert("已有選擇好文件的");
}
只要fileFlag為true,就可以退出each循環,不需要再對剩下的input進行判斷。
在each中使用return false退出循環,使用return true結束當前次循環,進行下一次循環。