Problema con validación de formulario
Tengo un formulario como varios campos nombre, apellido y una imagen tengo que validar la extensión y utilizo esta función
function comprueba_extension(formulario, archivo) {
extensiones_permitidas = new Array(".gif", ".jpg");
mierror = "";
if (!archivo) {
//Si no tengo archivo, es que no se ha seleccionado un archivo en el formulario
mierror = "No has seleccionado ningún archivo";
}else{
//recupero la extensión de este nombre de archivo
extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
//alert (extension);
//compruebo si la extensión está entre las permitidas
permitida = false;
for (var i = 0; i < extensiones_permitidas.length; i++) {
if (extensiones_permitidas == extension) {
permitida = true;
break;
}
}
if (!permitida) {
mierror = "Comprueba la extensión de los archivos a subir. \nSólo se pueden subir archivos con extensiones: " + extensiones_permitidas.join();
formulario.userfile.focus();
}else{
//submito!
alert ("Todo correcto. Voy a submitir el formulario.");
formulario.submit();
return 1;
}
}
//si estoy aqui es que no se ha podido submitir
alert (mierror);
return 0;
}
y este el formulario
form action="formulario2.php" name="myform" enctype="multipart/form-data" method="post">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td align="right">Titulo</td>
<td><input type="text" name="titulo"></td>
</tr>
<tr>
<td align="right">autor</td>
<td><input type="text" name="autor"></td>
</tr>
<tr>
<td align="right">Imagen</td>
<td><input type="file" name="userfile" ></td>
</tr>
<td><input type="submit" value="Enviar" onclick="comprueba_extension(this.form, this.form.userfile.value)"></td>
</tr>
</table>
Pero el problema es que si la extensión del archivo no es la perimida de todas manera me envía al formulario2y necesito que se posicione en el campo userfile que esta mal
Gracias
function comprueba_extension(formulario, archivo) {
extensiones_permitidas = new Array(".gif", ".jpg");
mierror = "";
if (!archivo) {
//Si no tengo archivo, es que no se ha seleccionado un archivo en el formulario
mierror = "No has seleccionado ningún archivo";
}else{
//recupero la extensión de este nombre de archivo
extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
//alert (extension);
//compruebo si la extensión está entre las permitidas
permitida = false;
for (var i = 0; i < extensiones_permitidas.length; i++) {
if (extensiones_permitidas == extension) {
permitida = true;
break;
}
}
if (!permitida) {
mierror = "Comprueba la extensión de los archivos a subir. \nSólo se pueden subir archivos con extensiones: " + extensiones_permitidas.join();
formulario.userfile.focus();
}else{
//submito!
alert ("Todo correcto. Voy a submitir el formulario.");
formulario.submit();
return 1;
}
}
//si estoy aqui es que no se ha podido submitir
alert (mierror);
return 0;
}
y este el formulario
form action="formulario2.php" name="myform" enctype="multipart/form-data" method="post">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td align="right">Titulo</td>
<td><input type="text" name="titulo"></td>
</tr>
<tr>
<td align="right">autor</td>
<td><input type="text" name="autor"></td>
</tr>
<tr>
<td align="right">Imagen</td>
<td><input type="file" name="userfile" ></td>
</tr>
<td><input type="submit" value="Enviar" onclick="comprueba_extension(this.form, this.form.userfile.value)"></td>
</tr>
</table>
Pero el problema es que si la extensión del archivo no es la perimida de todas manera me envía al formulario2y necesito que se posicione en el campo userfile que esta mal
Gracias
1 Respuesta
Respuesta de abetop
1