Lo explico un poco... El input type file está oculto con CSS y el botón llama al evento click del input type field. Por lo que, al enviar el formulario haciendo "Enter" en cualquiera de los otros inputs, se abre la ventanita para seleccionar un archivo.
Intenté cambiar el evento onclick del botón por un simple "console.log("Boton clickeado"); return false;" pero en la consola sigue ejecutándose.
¿Alguna sugerencia?
Código:
<form id="revision" action="register.php" method="post" enctype="multipart/form-data"> <table> <tr> <td colspan="2"> <button class="profile" id="profile_preview" onclick="$('#profile_file').click();return false;"></button> <input type="file" name="archivo" id="profile_file" onchange='mostrarVistaPrevia("#profile_file", "#profile_preview");' /> </td> </tr> <tr><th>Nombre</th><td><input type="text" name="user" /></td></tr> <tr><th>Correo</th><td><input type="text" name="email" /></td></tr> <tr><th>Contraseña</th><td><input type="password" name="pass1" /></td></tr> <tr><th>Contraseña<br>(otra vez)</th><td><input type="password" name="pass2" /></td></tr> <tr><td colspan="2"><input type="submit" name="enviar" value="Registrarme" /></td></tr> </table> </form>