Foros del Web » Programando para Internet » Javascript »

Problema al validar input file

Estas en el tema de Problema al validar input file en el foro de Javascript en Foros del Web. Hola gente del foro! algo que pense que era muy sencillo se me esta complicando, por un lado tengo este formulario Código HTML: <form id= ...
  #1 (permalink)  
Antiguo 28/10/2008, 07:34
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Problema al validar input file

Hola gente del foro! algo que pense que era muy sencillo se me esta complicando, por un lado tengo este formulario

Código HTML:
<form id="registracion" enctype="multipart/form-data" name="registracion" method="post" action="procesa.php">
  <p>
  <input name="usuario" type="text" class="campos" id="usuario" size="40" maxlength="16" />
  </p>
  <p>
    <input name="clave" type="password" class="campos" id="clave" size="40" maxlength="16" />
  </p>
  <p>
    <input name="clave2" type="password" class="campos" id="clave2" size="40" maxlength="16" />
  </p>
  <p>
    <input name="cv" type="file" class="campos" id="cv" size="33" />
  </p>
  <p>
    <input type="image" name="imageField" id="imageField" src="/empleos/imagenes/bt-registracion.jpg" onclick="compruebaCv(this.form.cv.value)" />
          </p>
</form> 
y en mi archivo .JS entre otras funciones tengo esta:

Código HTML:
function compruebaCv(archivo) {
	if (!archivo) { 
		alert("Debes subir tu CV para finalizar tu registración")
		return 0;
	}else{
		return 1; 
	} 
} 
El problema concreto es que quiero que el input file sea un campo obligatorio osea que si o si el usuario tenga que subir un archivo, actualmente el formulario si uno no sube el archivo se muestra el cartel de aviso pero luego de eso se hace el submit, y yo lo que quiero es que no se pueda hacer submit hasta que ese campo input file no sea blanco.

Alguien sabe como puedo hacer para que no se envie el formulario si no se selecciono ningún archivo para subir?

Gracias por su tiempo.
  #2 (permalink)  
Antiguo 28/10/2008, 07:44
 
Fecha de Ingreso: octubre-2008
Mensajes: 51
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problema al validar input file

umm despues del alert mandale el foco del campo cv y un return false para que se salga
  #3 (permalink)  
Antiguo 28/10/2008, 07:44
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema al validar input file

Podrías llamar a la función de validación en el onsubmit del form de esta forma
Cita:
onsubmit="return compruebaCv(this.form.cv.value);"
y retornar false o true en la función.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #4 (permalink)  
Antiguo 28/10/2008, 09:24
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Respuesta: Problema al validar input file

mm de esa forma me lo manda igual el formulario y no entra a la funcion..

Código HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<script type="text/javascript">
function compruebaCv(archivo) {
	if (!archivo) { 
		alert("Debes subir tu CV para finalizar tu registración")
		return false;
	}else{
		return true; 
	} 
} 
</script>
</head>

<body>
<form id="registracion" enctype="multipart/form-data" name="registracion" method="post" action="borrar.php" onsubmit="return compruebaCv(this.form.cv.value);">
  <p>
  <input name="usuario" type="text" class="campos" id="usuario" size="40" maxlength="16" />
  </p>
  <p>
    <input name="clave" type="password" class="campos" id="clave" size="40" maxlength="16" />
  </p>
  <p>
    <input name="clave2" type="password" class="campos" id="clave2" size="40" maxlength="16" />
  </p>
  <p>
    <input name="cv" type="file" class="campos" id="cv" size="33" />
  </p>
  <p>
    <input type="image" name="imageField" id="imageField" src="/empleos/imagenes/bt-registracion.jpg" />
          </p>
</form>
</body>
</html> 
  #5 (permalink)  
Antiguo 28/10/2008, 09:37
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema al validar input file

Es que en ese contexto this hace referencia al formulario, así que el .form está sobrando, debería ser únicamente this.campo.value
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 28/10/2008, 09:41
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema al validar input file

jejejej cierto, gracias por la corrección David el Grande.
Además que creo que te hace falta el submit del form.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 28/10/2008, 11:15
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Respuesta: Problema al validar input file

Gracias a todos! lo pude solucionar gracias a su ayuda.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:42.