2012-04-11 10 views
29

Chcę przesłać tylko 2 elementy. Jak mogę maksymalny limit pozycji na wielokrotnością pliku wejściowegoJak ograniczyć maksymalną liczbę elementów na wielu wejściach (<typ wejściowy = "plik" wiele />)

+1

To może być pomocne: http://stackoverflow.com/questions/9813556/multiple-file-upload-file-input -limit-number-of-files –

+0

Możliwy duplikat [Policz i ogranicz liczbę przesłanych plików (wprowadzanie danych HTML)] (https://stackoverflow.com/questions/9813556/count-and-limit-the-number- of-files-uploaded-html-file-input) – gbjbaanb

Odpowiedz

33

Można uruchomić niektóre sprawdzania poprawności po stronie klienta jQuery sprawdzić:

$(function(){ 
    $("input[type='submit']").click(function(){ 
     var $fileUpload = $("input[type='file']"); 
     if (parseInt($fileUpload.get(0).files.length)>2){ 
     alert("You can only upload a maximum of 2 files"); 
     } 
    });  
});​ 

http://jsfiddle.net/Curt/u4NuH/

Ale pamiętaj, aby sprawdzić na stronie serwera także jako sprawdzanie poprawności po stronie klienta można ominąć dość łatwo.

+0

Czy jest to możliwe w samym formularzu/danych wejściowych? – Wanjia

-3

Zamiast tego użyj dwóch elementów <input type=file>, bez atrybutu multiple.

+1

to pozwoli tylko na jedno zdjęcie, chce 2 obrazy – Diego

+2

nie, to pozwala na dwa oddzielne obiekty filelistów i było konsekwentnie używane jako metoda zarówno do przesyłania wielu plików i ograniczania ich liczb --- 15 lat temu –

4
<strong>On change of the input track how many files are selected:</strong> 

<script> 
    $("#image").on("change", function() { 
     if($("#image")[0].files.length > 2) { 
        alert("You can select only 2 images"); 
     } else { 
       $("#imageUploadForm").submit(); 
     } 
    }); 
</script> 
<input name="image[]" id="image" type="file" multiple="multiple" accept="image/jpg, image/jpeg" > 
+1

Uwaga na pozorny średnik po warunek if. – Qdeep

Powiązane problemy