Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ES
25 de marzo de 2021
El método form.submit() permite iniciar el envío del formulario mediante JavaScript. Podemos utilizarlo para crear y enviar
nuestros propios formularios al servidor.
Evento: submit
Mayormente un formulario puede enviarse de dos maneras:
Ambas acciones causan que el evento submit sea activado en el formulario. El handler puede comprobar los datos, y si hay
errores, mostrarlos e invocar event.preventDefault() , entonces el formulario no será enviado al servidor.
En el formulario de abajo:
Ambas acciones muestran alert y el formulario no es enviado debido a la presencia de return false :
Método: submit
Para enviar un formulario al servidor manualmente, podemos usar form.submit() .
Entonces el evento submit no será generado. Se asume que si el programador llama form.submit() , entonces el script ya
realizó todo el procesamiento relacionado.
A veces es usado para crear y enviar un formulario manualmente, como en este ejemplo:
1 let form = document.createElement('form');
2 form.action = 'https://google.com/search';
3 form.method = 'GET';
4
5 form.innerHTML = '<input name="q" value="test">';
6
7 // el formulario debe estar en el document para poder enviarlo
8 document.body.append(form);
9
10 form.submit();
Tareas
Formulario modal
importancia: 5
Crea una función showPrompt(html, callback) que muestre un formulario con el mensaje html , un campo input y
botones OK/CANCELAR .
● Un usuario debe escribir algo en el campo de texto y pulsar Enter o el botón OK, entonces callback(value) es
llamado con el valor introducido.
● En caso contrario, si el usuario pulsa Esc o CANCELAR, entonces callback(null) es llamado.
Requisitos:
Ejemplo de uso:
Demo en el iframe:
P.S. El código fuente tiene el HTML/CSS para el formulario con posición fija. Pero tú decides cómo haces el modal.
solución
Una ventana modal puede ser implementada utilizando un <div id="cover-div"> semi-transparente que cubra
completamente la ventana, como a continuación:
1 #cover-div {
2 position: fixed;
3 top: 0;
4 left: 0;
5 z-index: 9000;
6 width: 100%;
7 height: 100%;
8 background-color: gray;
9 opacity: 0.3;
10 }
Debido a que el <div> cubre toda la ventana, recibe todos los clicks, en vez de la página tras él.
El formulario no debe estar en el <div> sino junto a él, porque no queremos que tenga opacity .
Abrir la solución en un entorno controlado.
Comentarios
● Si tiene sugerencias sobre qué mejorar, por favor enviar una propuesta de GitHub o una solicitud de extracción en
lugar de comentar.
● Si no puede entender algo en el artículo, por favor explique.
● Para insertar algunas palabras de código, use la etiqueta <code> , para varias líneas – envolverlas en la etiqueta
<pre> , para más de 10 líneas – utilice una entorno controlado (sandbox) (plnkr, jsbin, codepen…)
0 Comentarios 1 Acceder
G Sé el primero en comentar...
Nombre
Sé el primero en comentar.