Foros del Web » Programando para Internet » Javascript »

Campos <input type=file...> multiple no vacios

Estas en el tema de Campos <input type=file...> multiple no vacios en el foro de Javascript en Foros del Web. Estimados amigos: tengo un formulario para subir multiples archivos de esta manera: --------------------------------------------------------------------- <form name="formulario" enctype="multipart/form-data" method="post" action="upload.php"> <input name="userfile[0]" type="file"> <input name="userfile[1]" type="file"> <input ...
  #1 (permalink)  
Antiguo 06/09/2004, 15:52
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
Campos <input type=file...> multiple no vacios

Estimados amigos:
tengo un formulario para subir multiples archivos de esta manera:
---------------------------------------------------------------------
<form name="formulario" enctype="multipart/form-data" method="post" action="upload.php">
<input name="userfile[0]" type="file">
<input name="userfile[1]" type="file">
<input name="userfile[2]" type="file">
<input name="userfile[3]" type="file">
<input name="btn_enviar" type="submit" value="Enviar" onClick="cargar()">
</form>
----------------------------------------------------------------------
lo que quiero hacer es validar---en la funcion cargar()-- que no este ningun campo vacio....pero no se como preguntar por cada input de tipo file.....
trate de hacer document.formulario.userfile[0].value.....pero no pasa nada...
como puedo validar que cada input no este vacio?
Saludos...
__________________
________________________________________

Ugho.
  #2 (permalink)  
Antiguo 06/09/2004, 17:44
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 20 años, 3 meses
Puntos: 0
Una manera de comprobarlo:

if (formulario("userfile[0]").value.length==0) { alert("vacio 0");}
if (formulario("userfile[1]").value.length==0) { alert("vacio 1");}


y otra mas elegante y util, usando un codigo de WebStudio y referido por JavierB, que hace un trim de un string:

http://www.forosdelweb.com/showthrea...threadid=66725

<script language="JavaScript">
String.prototype.trim = function() {//objeto String
return this.replace(/(^\s*)|(\s*$)/g, "");
}

function vacia(data){
data = data.trim();
if (data.length==0) {return true;}
else {return false;}
}

function cargar(){
var vacio = false;
vacio = (vacio || vacia(formulario("userfile[0]").value));
vacio = (vacio || vacia(formulario("userfile[1]").value));
vacio = (vacio || vacia(formulario("userfile[2]").value));
vacio = (vacio || vacia(formulario("userfile[3]").value));
if (vacio) {alert("hay vacios");}
return !vacio;
}

</script>


por cierto, creo que seria adecuado cambiar la validacion para el onsubmit de la forma:

<form name="formulario" enctype="multipart/form-data" method="post" action="upload.php" onsubmit="return cargar();">

y eliminarla en el onclick del boton.

saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #3 (permalink)  
Antiguo 07/09/2004, 08:09
Avatar de Ugho  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 487
Antigüedad: 22 años
Puntos: 0
Muchas gracias amigo claray.
Saludos...
__________________
________________________________________

Ugho.
  #4 (permalink)  
Antiguo 25/12/2009, 12:27
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Campos <input type=file...> multiple no vacios

hola necesito de su ayuda, subo fotos con este codigo, el problema es que yo decido no subir nada, y en mi DB obvio que no hay datos de la FOTO.jpg como se puede hacer, si decido dejar el campo vacio y subir igual, pero me muestre una foto no hay foto disponible, que lo tengo en mi carpeta de fotos dice "NOTENGOFOTO.jpg"


<?
$extensiones=array("html","exe","php");
$path="fotos/";
$nombre=$HTTP_POST_FILES['file']['name'];
$tamanio=$HTTP_POST_FILES['file']['size'];
$tipo=$HTTP_POST_FILES['file']['type'];
$var = explode(".","$nombre");
$num = count($extensiones);
$valor = $num-1;
for($i=0; $i<=$valor; $i++) {
if($extensiones[$i] == $var[1]) {
echo "Tipo de Archivo no admitido";
exit;
}
}
if (is_uploaded_file($HTTP_POST_FILES['file']['tmp_name']))
{
copy($HTTP_POST_FILES['file']['tmp_name'], "$path/$nombre");
echo "El archivo se ha subido correctamente.<p>";
}
else { echo "Error al subir el archivo"; }?>
  #5 (permalink)  
Antiguo 25/12/2009, 12:55
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Campos <input type=file...> multiple no vacios

tema cerrado por viejo

pilucho: Fíjate en la fecha del mensaje, y además, expones código php en el foro de javascript... si tienes problemas php, abre un tema nuevo en el foro adecuado.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 18:43.