2012-04-11 38 views
29

Quiero subir solo 2 elementos. ¿Cómo se puede prevenir número máximo de elementos en un archivo de entrada múltipleCómo limitar elementos máximos en una entrada múltiple (<input type = "file" multiple />)

+1

Esto podría ser útil: http://stackoverflow.com/questions/9813556/multiple-file-upload-file-input -limit-number-of-files –

+0

Posible duplicado de [Contar y limitar el número de archivos cargados (entrada de archivo HTML)] (https://stackoverflow.com/questions/9813556/count-and-limit-the-number- of-files-upload-html-file-input) – gbjbaanb

Respuesta

33

Se puede ejecutar una validación del lado del cliente jQuery para comprobar:

$(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/

pero recuerde que debe comprobar en el lado del servidor también como La validación del lado del cliente se puede evitar con bastante facilidad.

+0

¿Es esto posible dentro de la forma/entrada en sí? – Wanjia

-3

Use dos elementos <input type=file> en su lugar, sin el atributo multiple.

+1

esto solo permitirá una imagen, quiere 2 imágenes – Diego

+2

no, esto permite dos objetos separados de la lista de archivos y se usó consistentemente como el método para cargar múltiples archivos y limitar sus números --- 15 años atrás –

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

Note el punto y coma falso después la condición si. – Qdeep

Cuestiones relacionadas