¿Que se puede hacer con los formularios en la parte cliente?
La etiqueta form es un elemento de bloque y por lo tanto puede contener elementos propios del documento html
Ejemplo de formulario
Que tiene el siguiente aspecto
Los atributos principales de la etiqueta form son:
Si el atributo method no está establecido, el formulario se comporta como si el valor fuera get.
Otros atributos
Estos controles tienen algunos atributos comunes
Los controles de entrada de datos tienen algunos tipos específicos. La mayoria de las entradas utilizan el control input
El control label es un control que no recibe datos, y solo se utiliza para mostrar texto. El atributo for es obligatorio para que funcione correctamente y se asocie la etiqueta al control mediante el identificador de este
Ejemplo:>
El objeto form es un objeto que contiene todos los controles del formulario.
var formulario = document.forms[0];
A su vez los componenetes del formulario están disponibles en un array para cada formulario:
var formulario = document.forms[0];
var controles = formulario.elements;
var un_control = controles[0];
// lo mismo de otra forma
var un_control = document.forms[0].elements[0];
El inconveniente es que si se cambia el orden en el formulario podemos obtener efectos indeseados.
Tenemos una segunda forma de acceder usando el nombre
Y en javascript
var formulario = document.forms.mi_formulario;
var un_nombre = formulario.ElNombre;
También serviría:
var un_nombre = document.getElementById("mi_formulario").ElNombre;
Propiedades:
document.getElementById("id_del_elemento").form
Alguno de los eventos utilizados con formularios y sus controles:
var nombre = document.getElementById("nombre").value;
SI
NO
NS/NC
y con el código javascript ( por ejemplo con el evento onsubmit )
for(var i=0; i
Algunos de los atributos de validación:
Usando DOM form
function validarFormulario(formulario) {
var valido = true;
var elementos = formulario.elements;
for (var i = 0; i
Usando eventos
Observar el evento onblur en la entrada de texto, se verifica al perder el foco (pulsando en cualquier parte fuera del campo) sin esperar a que el usuario haga clic en el botón de enviar.
function validatePass(campo) {
var RegExPattern = /(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$/;
var errorMessage = 'Password Incorrecta.';
if ((campo.value.match(RegExPattern)) && (campo.value!=''))
{ alert('Password Correcta'); }
else { alert(errorMessage);
campo.focus(); }
}
Que se ve asi:
--- REvisar https://developer.mozilla.org/es/docs/Learn/Forms/Form_validations
y tambien https://www.arkaitzgarro.com/javascript/capitulo-16.html