Deshabilita el botón de enviar con JS [Feb. 29, 2012, 6:33 p.m.]
Vamos a empezar a insertar JS a nuestra página. Lo primero que vamos a hacer es deshabilitar el botón de submit/enviar mientras que nuestros campos del formulario no sean válidos. Para esto, vamos a necesitar lo siguiente:
- Accesar al elemento botón y modificar sus atributos.
- Codificar la lógica que verifica si el botón debe estar habilitado o no.
Ambas cosas las vamos a hacer en un archivo JS. Veamos una manera de hacerlo:
//Esta es una variable. Su valor es true cuando todos los campos //son válidos y false cuando hay algún error. var camposValidos = false; //En esta variable guardamos el objeto que representa al elemento //que tenga como ID = boton dentro de nuestro HTML. Asumimos que ese fue //el ID que se le dio al boton de enviar. var botonEnviar = document.getElementById('boton'); if (camposValidos == false) { botonEnviar.disabled = true; } else { botonEnviar.disabled = false; }
Analicemos el Ejemplo:
-
Utilizamos 2 variables en el ejemplo (camposValidos, botonEnviar). Para declararlas es recomendable utilizar el keyword var antes del nombre de la variable.
-
Utilizamos la función getElementById para obtener el objeto que representa al elemento en nuestro HTML que tenga como ID = boton. Este objeto se lo pasamos a la variable botonEnviar para trabajarlo con mayor comodidad. Más adelante veremos esto más a fondo.
-
Utilizamos un if que verifica el estado de los campos (utilizando camposValidos). Si los campos no son validos, entonces el botón debe estar deshabilitado.
-
Modificar el valor de la propiedad disabled del objeto botonEnviar (botonEnviar.disabled = true) es equivalente a modificar el atributo disabled del tag input, así:
-
< input type='submit' id='boton' disabled='true' >.
-
-
Falta la lógica que verifica si los campos son válidos, ahora mismo asumimos que los campos siempre son inválidos.
Para completar esta tarea:
-
Adiciona el código JS a tu archivo formulario.html. Para esto tienes dos opciones:
- Colocar el código en tu archivo HTML
- Crear un archivo JS (digamos validador.js) e importar el archivo JS en tu archivo HTML.
- Asegúrate que el ID que le distes a tu botón de enviar en tu HTML concuerde con el ID que envías en la función getElementById.
- Verifica que funcione. Si todo está en orden tu botón de Enviar debería aparecer deshabilitado.
Te recomendamos: