2013-04-06 18 views
5

我想限制用戶在輸入標籤中最多選擇6個文件。目前,我的輸入標籤是這樣的:如何限制在html中上傳文件的次數?

<input type="file" name="question_pic" id="id_question_pic" multiple/> 

我想限制用戶最多選擇6個文件。我可以在服務器端返回一個錯誤,但我希望客戶端首先更改它。

有沒有辦法做到這一點?

謝謝。

回答

5

您可以使用jQuery的功能是這樣的:

$('.fileinput').change(function(){ 
    if(this.files.length>10) 
     alert('Too many files') 
}); 
// Prevent submission if limit is exceeded. 
$('form').submit(function(){ 
    if(this.files.length>10) 
     return false; 
}); 
+2

您可以通過清除文件列表中的值來防止在更改函數中上載超過10個文件,如下所示: 'if(this.files.length> 10){alert('to many files'); this.value =''; }' 不幸的是,你不允許從文件列表對象中刪除項目,你只能重置整個值。 – Marc 2014-07-16 08:36:05

1

您可以使用jQuery或JavaScript的,像這樣:

<input type="file" name="question_pic" id="id_question_pic" max-uploads = 6/> 

然後在jQuery的你可以這樣做這樣

Var number_of_uploads; 
$("#id_question_pic").change(function() { 
    if(number_of_uploads > $(this).attr(max-uploads)) 
    { 
    alert('Your Message'); 
    } 
    else 
    { 
    number_of_uploads = number_of_uploads + 1; 
    } 
}); 

您也可以在您上傳文件的表單提交中執行此操作。但是,如果你使用Ajax上傳,我認爲這很好。