Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Formularios y Javascript
Manual por: DesarrolloWeb.com [http://www.desarrolloweb.com/] Versión on-line:
"Tu mejor ayuda para aprender a hacer webs" http://www.desarrolloweb.com/manuales/50
Índice
El constructor new Option: listas encadenadas. Cambian las opciones de una lista, dependiendo de la selección realizada
en otra.
Validar un select.
Modificar la propiedad text de un option.
Anexo I
Rutinas JavaScript para aplicar a formularios [http://www.desarrolloweb.com/articulos/1507.php?manual=50
z Colocar el foco en un determinado campo al cargar la página
z Convierte la primer letra de cada palabra en mayúscula
z Convierte la primer letra del texto en mayúsculas
z Escribe un valor indicado en otra ventana, en el formulario abierto
z Comprueba que el valor ingresado en dos campos no sea el mismo
z Comprueba que el valor ingresado en dos campos sea igual
z Permite seleccionar solo una determinada cantidad de checkbox del mismo nombre
z Selecciona todos los checkbox con un solo click o los deselecciona
z Selecciona todos los checkbox con un solo click o los deselecciona o invierte la selección
z Cuenta la cantidad de checkbox o radio que hay seleccionados
Anexo II
Más rutinas JavaScript [http://www.desarrolloweb.com/articulos/1517.php?manual=50]
z Aumenta o disminuye un valor
z Cuenta la cantidad de palabras introducidas en un textarea
z Muestra o esconde el botón "submit"
z Habilita o deshabilita el botón "submit"
z Mensaje de confirmación al borrar un formulario
z Mensaje de confirmación al enviar un formulario
El objeto form es un sub-objeto del objeto document y este a su vez, lo es del objeto window.
Así como para crear una página en HTML se utilizan las etiquetas <HTML> Y </HTML>, lo mismo sucede con un
formulario: el formulario debe estar contenido entre las etiquetas <form> y </form>
En principio la sintaxis básica para referirnos a un formulario sería:
window.document.forms.nombre_del_formulario
En la que tranquilamente pueden prescindirse de window y forms ya que el navegador toma al formulario como un
objeto en sí mismo. De la misma forma, tambien puede prescindirse de document. Pero esta omisión solo se hará si
queremos referirnos a un formulario en particular (por ejemplo a un formulario llamado "datos"). Pero al momento de
referirnos a "todos los formularios de una página", solo se podrá prescindir del objeto window.
De todas formas, iremos viendo la aplicación de este tipo de sintaxis con los próximos ejemplos y a medida que
avancemos.
propiedad descripción
name es el nombre único del formulario.
es el lugar al cual se envía el formulario para ser procesado. El action define la URL a la
action
cual se envía dicho formulario.
método de envío de los datos insertados en un formulario. El method puede ser:
Formularios y Javascript - Manual completo Página 4 de 42
GET = envía los datos en una cadena "visible". Conveniente para enviar pocos datos.
method POST = envía los datos en forma "invisible". Conveniente para enviar una gran cantidad de
datos.
define la ventana o marco (frame) en la que se mostrarán o procesarán los resultados del
target formulario.
El valor es el mismo que el utilizado en HTML (blank, self, top, nombre_marco, etc..)
método descripción
submit envía el formulario.
reset restablece el formulario a los valores por defecto.
Con estos ejemplos veremos la utilización de la propiedad method y de los métodos submit y reset.
Method POST
El código....
<form name="datos" action="ejemplos/procesar.asp" method="POST" target="_blank">
Escribe tu nombre: <input type="text" name="nombre"><br>
<input type="submit" value="enviar formulario"><br>
<input type="reset" value="borrar">
</form>
El resultado...
Escribe tu nombre:
enviar formulario borrar
Method GET
El código....
<form name="datos1" action="ejemplos/procesar1.asp" method="GET" target="_blank">
Escribe tu nombre: <input type="text" name="nombre"><br>
<input type="submit" value="enviar formulario"><br>
<input type="reset" value="borrar">
</form>
El resultado...
Escribe tu nombre:
enviar formulario borrar
Formularios y Javascript - Manual completo Página 5 de 42
El objeto form posee dos sub-propiedades, a parte de las propiedades nombradas en el capítulo anterior. Estas sub-
propiedades son:
sub-propiedad descripción
es un array que contiene todos los formularios de una página, donde el primer formulario
index
es identificado con el número 0 y así sucesivamente.
length contiene el número (cantidad) de formularios que hay en una página.
document.forms[index]
donde index es el número correspondiente al formulario: document.forms[0] indica el primer formulario y
document.forms.length
nos indica la cantidad de formularios que hay en una página.
LENGTH
El código...
Presiona el botón para saber cuantos formularios hay en esta página:
<input type="button" value="Click aquí" onClick="alert('Hay ' + document.forms.length +
' formularios en esta página')">
Los resultados...
Presiona el botón para saber cuantos formularios hay en esta página: Click aquí
INDEX
El código...
Presiona el botón para saber el nombre del primer formulario:
<input type="button" value="Click aquí" onClick="alert('El nombre del primer formulario
es: ' + document.forms[0].name)">
Los resultados...
Presiona el botón para saber el nombre del primer formulario: Click aquí
Si bien la mayoría de los eventos JavaScript son aceptados por el objeto form, muchos de ellos pueden crear más
problemas que soluciones y si se utilizan, es en casos muy específicos pero no usuales.
En la siguiente lista veremos los más utilizados:
evento descripción
es el principal evento del objeto form y se produce al enviar el formulario: ya sea mediante
onSubmit
el botón submit o mediante una función JavaScript que llame al método submit()
onReset funciona igual que el evento anterior pero se sucede al restablecer el formulario.
Aquí veremos un ejemplo en el que se enviará un mensaje de alerta al usuario cuando envía el formulario o cuando lo
Formularios y Javascript - Manual completo Página 6 de 42
restablece.
El código...
<form name="formulario" method="post" action="ejemplos/procesar.asp" target="_blank"
onSubmit="alert('Se enviará el formulario')" onReset="alert('Se borrarán todos los datos
insertados')">
Escribe tu nombre: <input type="text" name="nombre"><br>
<input type="submit" value="Enviar">
<input type="reset" value="Borrar">
</form>
Los resultados....
Escribe tu nombre:
Enviar Borrar
Vimos en la introducción de este manual, para que sirve la propiedad action. Ahora, veremos lo que se puede hacer con
la misma mediante JavaScript.
Mediante JavaScript, podremos modificar/seleccionar el valor de la propiedad action según las preferencias del usuario.
El ejemplo más típico sería el de un formulario de suscripción a un boletín de novedades, donde el usuario deberá elegir,
si desea darse de alta o de baja.
El Script...
<script language="javascript">
function enviar(form)
{
if ((boletin.alta.checked == true) && (boletin.baja.checked == true))
{ alert("Por favor, marca una sola casilla"); return true; }
if (boletin.alta.checked == true)
{ boletin.action = "ejemplos/alta.asp"; }
if (boletin.baja.checked == true)
{ boletin.action = "ejemplos/baja.asp"; }
form.submit()
}
</script>
El formulario...
<form name="boletin" method="GET" action="ejemplos/alta.asp" target="_blank">
<b>Suscripción gratuita al boletín de novedades</b><br>
Por favor, introduce tu e-mail:
<input type="text" name="email" size="20"><br>
<input type="checkbox" name="alta" value="ON"> Darme de <b>alta</b> |
<input type="checkbox" name="baja" value="ON"> Darme de baja<br>
<input type="button" onClick="enviar(this.form)" value="Enviar">
</form>
Los resultados...
g Darme de alta | g
c
d
e
f c Darme de baja
d
e
f
Enviar
Otro ejemplo muy utilizado, es enviar el mismo formulario a dos páginas diferentes. Veamos un ejemplo:
El Script...
<script language="javascript">
function Envio1()
{
datos.action = "ejemplos/pagina1.asp";
datos.submit()
}
function Envio2()
{
datos.action = "ejemplos/pagina2.asp";
datos.submit()
}
</script>
El Formulario...
<form method="GET" name="datos" action="ejemplos/pagina1.asp" target="_blank">
Tu nombre: <input type="text" name="nombre"><br>
Edad: <input type="text" name="edad" size="2"><br>
<input type="button" value="Enviar" onClick="Envio1(this.form); Envio2(this.form)">
</form>
Los resultados...
Tu nombre:
Edad:
Enviar
De la misma forma que se puede modificar el valor de la propiedad action, pueden modificarse method
[http://www.desarrolloweb.com/articulos/4.htm] y target [http://www.desarrolloweb.com/articulos/4.htm]. Modificar el valor de la
propiedad method [http://www.desarrolloweb.com/articulos/4.htm] sería un poco ridículo ya que el método por el cual se envían
los datos, puede estar perfectamente definido en el formulario. El valor de target [http://www.desarrolloweb.com/articulos/4.htm]
puede llegar a ser más útil, si le damos al usuario la posibilidad de decidir si quiere abrir los resultados enviados en nueva
ventana, en la misma página o en un marco de la misma.
Como dijese anteriormente, modificar el valor de la propiedad method carece de un verdadero sentido. Pero, de todas
formas, esto siempre dependerá de lo que se necesite hacer.
La función que modifica el valor de method es muy similar a la que modifica el valor de action y target.
Veamos como se realiza este función:
<script languaje="javascript">
function CambiaMethod()
{ form1.method ="POST"; }
</script>
El Script...
Formularios y Javascript - Manual completo Página 8 de 42
<script languaje="javascript">
function CambiaMethod()
{
if (form1.POST.checked == true)
{
form1.method ="POST";
form1.action = "ejemplos/procesar.asp"
}
if (form1.GET.checked == true)
{
form1.method = "GET";
form1.action = "ejemplos/procesar1.asp"
}
form1.submit()
}
</script>
El formulario...
<form name="form1" method="post" action="ejemplos/procesar.asp" target="_blank">
Escribe tu nombre: <input type="text" name="nombre"><br>
<input type="checkbox" name="POST" value="ON">Método POST |
<input type="checkbox" name="GET" value="ON">Método GET<br>
<input type="button" value="Enviar" onClick="CambiaMethod(this.form)">
</form>
Los resultados...
Escribe tu nombre:
g Método POST | g
c
d
e
f c Método GET
d
e
f
Enviar
De igual forma que en el anterior ejemplo, veremos un caso en el que el usuario seleccionará el target en el cual desea
visualizar los resultados enviados por el formulario.
El Script...
<script languaje="javascript">
function CambiaTarget()
{
if (form2.blank.checked == true)
{
form2.target ="_blank";
}
if (form2.self.checked == true)
{
form2.target = "_self";
}
form2.submit()
}
</script>
El formulario...
<form name="form2" method="post" action="ejemplos/procesar.asp" target="_blank">
Escribe tu nombre: <input type="text" name="nombre"><br>
<input type="checkbox" name="blank" value="ON">Resultados en nueva ventana |
<input type="checkbox" name="self" value="ON">en la misma ventana<br>
<input type="button" value="Enviar" onClick="CambiaTarget(this.form)">
</form>
Los resultados...
Formularios y Javascript - Manual completo Página 9 de 42
Escribe tu nombre:
g Resultados en nueva ventana | g
c
d
e
f c en la misma ventana
d
e
f
Enviar
Objetos de un formulario
5.1 Tipos de objetos, definición y sintaxis básica
Los objetos de un formulario (objetos del objeto form) son los "campos" de un formulario. En la siguiente tabla, podremos
apreciar los tipos de objetos con su correspondiente descripción:
Sintaxis:
<select name=".." multiple>
<option value="..">texto1</option>
Formularios y Javascript - Manual completo Página 10 de 42
<option value="..">texto2</option>
</select>
campo compuesto que permite examinar el disco duro
file
para subir ficheros al servidor.
Examinar...
Sintaxis:
<input type="file" name="..." size="5">
es un tipo de botón que se encarga de enviar el
submit Enviar
formulario.
Sintaxis:
<input type="submit" value="..">
es un tipo de botón que se encarga de restablecer el
reset Borrar
formulario a sus valores por defecto.
Sintaxis:
<input type="reset" value="..">
es un tipo de botón al que se le pueden asignar múltiples
button Boton
funciones mediante eventos.
Sintaxis:
<input type="button" value="..">
es una imagen que actúa como botón (reset, button o
image
submit)
Sintaxis:
<input type="image" src=".." ...>
propiedad descripción
nombre del campo. Es el identificador único del campo. Este nombre no puede estar
name
duplicado dentro del formulario.
valor del campo. puede establecerse un valor por defecto u obtener el introducido
value
mediante JavaScript.
si su valor es "true", bloquea el campo de texto y no permite introducir ningún dato en
él. Dicho de una forma poco técnica, este campo de texto "No es enviado en el
disabled
formulario" y "actúa como si no existiese". Si su valor es "false" contrarresta el efecto
anterior.
convierte al campo en un área de "solo lectura". A diferencia de disabled esta
ReadOnly propiedad, no bloquea el campo, sino que simplemente no permite modificar su
contenido.
size El ancho "visible" de la caja de texto. NO limita la cantidad de caracteres.
length cuenta la cantidad de caracteres introducidos en el campo.
maxlength es la cantidad máxima de caracteres permitidos dentro del campo.
formulario.campo.propiedad
donde:
formulario es el nombre del formulario
campo el nombre del campo
y propiedad debe ser reemplazado por el nombre de la propiedad correspondiente.
método descripción
focus Pone el foco en el campo.
select Selecciona todo el texto contenido en el campo (lo colorea de un azul estándar)
Convierte el texto introducido en el campo a mayúsculas. Está asociado a la propiedad
toUpperCase
value.
Convierte el texto introducido en el campo a minúsculas. Está asociado a la propiedad
toLowerCase
value.
formulario.campo.método()
donde:
formulario es el nombre del formulario
campo el nombre del campo
y método debe ser reemplazado por el nombre del método correspondiente.
evento descripción
onFocus Permite realizar una acción al poner el foco en el campo.
onBlur Permite realizar una acción cuando el foco ya no se encuentra en el campo.
onSelet Permite realizar una acción cuando se selecciona el texto del campo.
onKeyUp /
Permite realizar una acción cuando el usuario pulsa una tecla (en los ejemplos
onKeyDown /
veremos la diferencia)
onKeyPress
onClick Permite realizar una acción cuando se hace click sobre el campo.
onChange Permite realizar una acción cuando el texto del campo cambia por otro.
Permite realizar una acción cuando el mouse pasa por encima del campo o lo
onMouseOver / abandona (estos eventos tienen un uso muy restringido ya que dependen del fin que
onMouseOut se le quiera aplicar. Por lo general, son bastante molestos puesto que el usuario
puede pasar el mouse por error, sobre un campo).
evento debe ser reemplazado por el evento deseado (ejemplo: onFocus) y función puede ser la función JavaScript, o
una acción cualquiera.
ejemplo:
<... onFocus="alert('Mensaje de Alerta')" ...>
EJEMPLO #1:
Tenemos una caja de texto con un valor por defecto. Cuando el usuario hace click sobre el campo, el valor
Formularios y Javascript - Manual completo Página 12 de 42
"desaparece".
El código...
Los resultados...
Nombre de usuario
Password: ●●●●●●
EJEMPLO #2:
El valor introducido en una caja de texto es "reproducido" en otro campo.
El Script...
<script languaje="javascript">
function pasaValor(form)
{ ejemplo2.campo2.value = ejemplo2.campo1.value; }
</script>
El formulrio...
<form name="ejemplo2" method="POST">
Tu nombre: <input type="text" name="campo1" onKeyUp="pasaValor(this.form)"><br>
Nombre introducido: <input type="text" name="campo2" ReadOnly>
</form>
Los resultados...
Tu nombre:
Nombre introducido:
EJEMPLO #3:
Veremos aquí un ejemplo más complejo, en el cual se rellenarán los campos de texto vacíos con la frase "No aportado"
El Script...
<script languaje="javascript">
function rellenar()
{
var texto = "No aportado"
if (ejemplo3.nombre.value == "") { ejemplo3.nombre.value = texto; }
if (ejemplo3.telefono.value == "") { ejemplo3.telefono.value = texto; }
if (ejemplo3.ciudad.value == "") { ejemplo3.ciudad.value = texto; }
alert("Los campos en blanco se completaron automáticamente");
ejemplo3.submit()
}
</script>
El formulario...
Los resultados...
Si modificamos un poco el ejemplo anterior, podemos hacer que en vez de completar automáticamente los campos, le
avise al usuario que debe completarlos para poder enviar el formulario. Esto podremos hacerlo avisando al usuario campo
por campo o enviándole un aviso en general:
El Script...
<script languaje="javascript">
function validar(form)
{
var error = "Por favor, antes de enviar el formulario,\ncomplete los siguientes
campos:\n\n";
var a = ""
form.submit()
}
</script>
El formulario...
El Script...
<script languaje="javascript">
Formularios y Javascript - Manual completo Página 14 de 42
function alerta(campo)
{ alert("Por favor, completa el campo "+campo) }
function validar2(form)
{
if (form.nombre.value == "")
{ alerta('\"Nombre real\"'); form.nombre.focus(); return true; }
if (form.telefono.value == "")
{ alerta('\"Teléfono\"'); form.telefono.focus(); return true; }
if (form.ciudad.value == "")
{ alerta('\"Ciudad\"'); form.ciudad.focus(); return true; }
form.submit()
}
</script>
El formulario...
Los resultados...
Otra función muy interesante con JavaScript, es aquella por la cual tomamos los datos introducidos en distinto campos de
texto y transferimos todos los valores a un solo campo. Es ideal, por ejemplo, cuando recopilamos información sobre el
domicilio de una persona o por que no, para tantas otras cosas.
Veamos el ejemplo:
EJEMPLO #6
El Script...
<script languaje="javascript">
function completar(form)
{
form.domicilio.value == ""
El formulario...
<br>
Calle: <input type="text" name="calle" size="40">
Nro.: <input type="text" name="nro" size="3"><br>
Piso: <input type="text" name="piso" size="2">
Departamento: <input type="text" name="dto" size="2"><br>
Código Postal: <input type="text" name="cp" size="8">
Ciudad: <input type="text" name="ciudad" size="20">
País: <input type="text" name="pais" size="20"><br><br>
Los resultados...
Calle: Nro.:
Piso: Departamento:
Código Postal: Ciudad: País:
Verifique su domicilio: lo datos se verán una vez que el campo tomo el foco (puede ser mediante la tecla TAB o haciendo click en el
campo).
Si los datos no son correctos, presione aquí y realice los cambios en los campos correspondientes.
Confirmar
Lo que aquí veremos es un ejemplo muy sencillo, en el cual, el campo "clave" (password) estará bloqueado si el campo
"usuario" (text) se encuentra vacío y se desbloqueará en caso contrario.
El script...
<script languaje="javascript">
function bloqDesbloq()
{
a = login.usuario.value
if (a != "") { a = true; }
else { a = false; }
if (a == true) { login.clave.disabled = false; }
else { login.clave.disabled = true; }
}
</script>
El formulario...
Los resultados...
Formularios y Javascript - Manual completo Página 16 de 42
Usuario:
Clave:
No son muy frecuentes los cambios o el provecho que se le puede sacar al valor de la propiedad size, pero en algunos
casos, y sobre todo asociado a la propiedad length puede resultar muy útil.
El script...
<script languaje="javascript">
function aumentarSize()
{
a = ejemplo9.campo1.value.length;
if (a > 6) { ejemplo9.campo1.size =(a+1); }
if (a < 6) { ejemplo9.campo1.size = "6"; }
}
</script>
El formulario...
<form name="ejemplo9">
Campo 1: <input type="text" name="campo1" size="6" onKeyUp="aumentarSize()">
</form>
Los resultados...
Campo 1:
Esta es una de las propiedades más útiles de estos objetos. Con esta propiedad, podremos limitar una cantidad de
caracteres mínimo, máximo o absoluto. Veremos entonces, 4 ejemplos:
El script...
<script languaje="javascript">
function validarCampo1(form)
{
if (form.palabra1.value.length < 6)
{
alert('Debes introducir una palabra con un mínimo de 6 caracteres');
form.palabra1.focus(); return true;
}
}
</script>
El formulario...
</form>
El resultado...
El script...
<script languaje="javascript">
function validarCampo2(form)
{
if (form.palabra1.value.length > 6)
{
alert('Debes introducir una palabra con un máximo de 6 caracteres');
form.palabra1.focus(); return true;
}
}
</script>
El formulario...
Los resultados...
El script...
<script languaje="javascript">
function validarCampo3(form)
{
if (form.palabra1.value.length != 6)
{
alert('Debes introducir una palabra de 6 caracteres');
form.palabra1.focus(); return true;
}
}
</script>
El formulario...
Los resultados...
El script...
<script languaje="javascript">
function validarCampo4(form)
{
var a = form.palabra1.value.length
if ((a < 6) || ( a > 12))
{
alert('Debes introducir una palabra con un mínimo de 6 caracteres y un máximo de
12');
form.palabra1.focus(); return true;
}
}
</script>
El formulario...
Los resultados...
El Script...
<script languaje="javascript">
function contar(form)
{
n = form.campo.value.length;
t = 50;
{
form.escritos.value = n;
form.restantes.value = (t-n);
}
}
</script>
El formulario...
Los resultados...
Máximo 50 caracteres:
Escritos: 0 Restantes: 50
Formularios y Javascript - Manual completo Página 19 de 42
El Script...
<script languaje="javascript">
function validarCampo5(form)
{
c = 12; // cant. máxima de caracteres
L = form.campo.value.length;
// e es el excedido
// f es el faltante
El formulario...
Los resultados...
Este es uno de los métodos más sencillos de emplear y veremos solo dos ejemplos pero no nos detendremos demasiado.
El código...
Los resultados...
Texto:
si escribes el texto utilizando minúsculas notarás el cambio
Formularios y Javascript - Manual completo Página 20 de 42
El código...
Los resultados...
Texto:
si escribes el texto utilizando mayúsculas notarás el cambio
El objeto hidden
11.1 Usos de este objeto
El primer punto a tener en cuenta con el objeto hidden es que este es "invisible al usuario". El usuario no puede verlo y
por lo tanto no puede interactuar con él.
El objeto hidden solo sirve para recolectar información del usuario y preferencias en forma de texto. Por ejemplo,
podremos mantener durante todos los formularios de distintas páginas, el nombre del usuario:
propiedad descripción
Es el nombre que identifica a un checkbox a un grupo de radio buttons. Para que éstos
name últimos conserven la capacidad de selección única, deben tener todos el mismo
nombre.
Es un valor asociado a cada checkbox o radio.
En el caso de los checkbox es útil asignar a un grupo de éstos con el mismo name
distintos valores. Pero si se quieres acceder a las propiedades de cada checkbox
separadamente mediante JavaScript, es mejor utilizar un name diferente para cada
value checkbox, ya que de lo contrario (si todos tienen el mismo name) la propiedad value
resulta poco útil.
En el caso de los radio buttons es una propiedad necesaria siempre al tener todos el
mismo name, aunque para su acceso mediante JavaScript, esta propiedad no es muy
útil.
bloquea el checkbox o radio. Por lo tanto "No es enviado en el formulario" y "actúa
disabled
como si no existiese".
marca o comprueba si está marcado un checkbox o un radio. Es una propiedad
checked booleana (que solo admite verdadero o falso) en la cual su valor será
"true" (verdadero) si el objeto está marcado y "false" (falso) en caso que no lo esté.
es la cantidad de radio buttons que existe en un grupo determinado con el mismo
length
name.
array que contiene todos los radio buttons que hay en un grupo con el mismo nombre.
Para un grupo de 5 radio buttons con mismo nombre y diferente valor cada uno, para
Formularios y Javascript - Manual completo Página 21 de 42
evento descripción
onFocus Permite realizar una acción al poner el foco en el objeto.
onBlur Permite realizar una acción cuando el foco ya no se encuentra en el objeto.
onClick Permite realizar una acción cuando se hace click sobre el objeto.
onChange Evento que se produce al marcar/desmarcar un checkbox o un radio button.
El Script...
<script languaje="javascript">
function habilita(form)
{
form.intereses[0].disabled = false;
form.intereses[1].disabled = false;
form.intereses[2].disabled = false;
}
function deshabilita(form)
{
form.intereses[0].disabled = true;
form.intereses[1].disabled = true;
form.intereses[2].disabled = true;
}
</script>
El Formulario...
<form name="ejemplo1">
¿Desea suscribirse a nuestro boletín de novedades? <br>
<input type="radio" name="boletin" value="si" checked onClick="habilita(this.form)"> SI,
quiero suscribirme.
<input type="radio" name="boletin" value="no" onClick="deshabilita(this.form)"> No,
gracias.
<br><br>
Seleccione los temas de su interés:<br>
<input type="checkbox" name="intereses" value="Arte y Cultura"> Arte y Cultura<br>
<input type="checkbox" name="intereses" value="Ciencia">Ciencia<br>
<input type="checkbox" name="intereses" value="Música">Música<br>
</form>
Los resultados...
Ejemplo #2
En este caso se habilitarán o deshabilitarán los checkbox dependiendo del valor de la propiedad checked de otro
checkbox.
El Script...
<script languaje="javascript">
function habilitaDeshabilita(form)
{
if (form.boletin.checked == true)
{
form.intereses[0].disabled = false;
form.intereses[1].disabled = false;
form.intereses[2].disabled = false;
}
if (form.boletin.checked == false)
{
form.intereses[0].disabled = true;
form.intereses[1].disabled = true;
form.intereses[2].disabled = true;
}
}
</script>
El Formulario...
<form name="ejemplo2">
¿Desea suscribirse a nuestro boletín de novedades? <input type="checkbox" name="boletin"
value="ON" checked onClick="habilitaDeshabilita(this.form)"> SI, quiero suscribirme.
<br><br>
Seleccione los temas de su interés:<br>
<input type="checkbox" name="intereses" value="Arte y Cultura"> Arte y Cultura<br>
<input type="checkbox" name="intereses" value="Ciencia">Ciencia<br>
<input type="checkbox" name="intereses" value="Música">Música<br>
</form>
Los resultados...
ejemplos.
13.1.1 Valor de value
form.nombre_del_grupo[index].value
Ejemplo:
form.grupo1[0].value
form.grupo1[1].value
form.grupo1[2].value
form.nombre_del_grupo.name
Ejemplo:
form.grupo1.name
form.nombre_del_grupo[index].disabled
Ejemplo:
form.grupo1[0].disabled
form.grupo1[1].disabled
form.grupo1[2].disabled
form.nombre_del_grupo[index].checked
Ejemplo:
form.grupo1[0].checked
form.grupo1[1].checked
form.grupo1[2].checked
form.nombre_del_grupo.length
Ejemplo:
form.grupo1.length
13.2 Ejemplos de aplicación II: trabajando con el valor de las propiedades
Como habrán podido observar en los ejemplos anteriores, seguramente notaron que para poder trabajar con un checkbox
o un radio en forma particular, si pertenecen al mismo grupo, debe usarse el index. Por eso, decía anteriormente que
conocer el valor de value es poco útil, a excepción que se necesite escribir ese valor en un campo de texto. Pero los
ejemplos "combinados" entre distintos objetos los dejaremos para más adelante. Nos limitaremos ahora, a estos dos
objetos.
Información del valor de todas las propiedades
El Script...
<script languaje="javascript">
function informar(form)
{
nombreCasilla = form.colores[0].name
valorCasilla = form.colores[0].value
valorDisabled = ""
valorChecked = ""
valorLength = form.colores.length
// definición de valorDisabled
if (form.colores[0].disabled == true)
{ valorDisabled = "está deshabilitada"; }
else
{ valorDisabled = "está habilitada"; }
// definición de valorChecked
Formularios y Javascript - Manual completo Página 24 de 42
if (form.colores[0].checked == true)
{ valorChecked = "está seleccionada"; }
else
{ valorChecked = "no está seleccionada"; }
// lanzamos la acción
alert(strAlerta);
}
</script>
El formulario...
<form name="ejemplo1">
Colores:
Verde <input type="checkbox" name="colores" value="Verde"><br>
Azul <input type="checkbox" name="colores" value="Azul" disabled><br>
Rojo <input type="checkbox" name="colores" value="Rojo" disabled><br>
<input type="button" value="Mostrar información" onClick="informar(this.form)">
</form>
Los resultados...
Colores:
Verde g
c
d
e
f
Azul g
c
d
e
f
Rojo g
c
d
e
f
Mostrar información
El Script...
<script languaje="javascript">
function verificarCasilla(form)
{
if (form.acepto.checked == false)
{
alert("Debes aceptar los términos del contrato antes de continuar");
form.acepto.focus(); return true;
}
form.submit()
}
</script>
El formulario...
<form name="contrato">
<b>Formulario de suscripción al servicio de acceso a Internet 0610</b><br>
... campos del formulario ...<br>
...<br>
<input type="checkbox" name="acepto"> Acepto los términos del contrato de suscripción
<br>
<input type="button" value="Enviar" onClick="verificarCasilla(this.form)">
</form>
Formularios y Javascript - Manual completo Página 25 de 42
Los resultados...
El objeto textarea
14.1 Propiedades básicas
El objeto textarea en principio recibe el mismo tratamiento que que el objeto text [http://www.desarrolloweb.com/articulos/6.htm]
con algunas pocas diferencias. Tanto las propiedades, como los métodos y eventos son los mismos, solo se agregan los
siguientes:
propiedad descripción
cols cantidad de columnas "ancho" de la caja de texto.
rows cantidad de filas "alto" de la caja de texto
El resto de las propiedades name, value, disabled, readonly, length y maxlength reciben la misma definición que para
el objeto text [http://www.desarrolloweb.com/articulos/6.htm]. La única excepción está en size que es reemplazado por cols y
rows (ancho y alto respectivamente).
La propiedad value obtiene una pequeña diferencia con la definición dada en text por sobre todo en su sintáxis. Veamos
su sintaxis básica:
Para llamar a alguna de estas propiedades, se lo hace de idéntica forma que con text:
formulario.nombre_textarea.propiedad
propiedad descripción
name nombre del select
size establece la cantidad de opciones que a primera vista se verán en el select
option es la principal propiedad ya que permite acceder a cada opción del select.
Formularios y Javascript - Manual completo Página 26 de 42
si su valor es "true", bloquea el select y no permite realizar ningún tipo de selección. Si su valor es "false"
disabled
contrarresta el efecto anterior.
multiple permite al usuario seleccionar más de una opción (mediante la tecla Ctrl)
type informa si el select es del tipo multiple o simple.
Texto de opción 1
Texto de opción 2
Texto de opción 3
manteniendo apretada la tecla Ctrl (control) puede seleccionarse más de una opción
Texto de opción 1
Texto de opción 2
Texto de opción 3
valor de size "3"
Texto de opción 2
valor de size "1"
solo puede seleccionarse una opción en cualquiera de los dos casos
15.3 SELECT: Métodos del objeto
método descripción
focus coloca el foco en el select
evento descripción
onFocus se produce al colocar el foco en el select
onBlur se produce al abandonar el select (al quitar el foco)
onChange se produce al realizar un cambio de selección
propiedad descripción
valor asociado a cada opción del select. Es invisible al usuario pero es el valor que se envía
value
junto al formulario.
text es el texto que ve el usuario que se encuentra contenido entre las etiquetas <option> y </option>
selected indica si una opción está seleccionada.
selectedIndex Da acceso a la opción (option) que ha seleccionado el usuario.
al igual que en form, o checkbox, este array contiene todas las opciones pertenecientes a un
index
select y tambien comienza por 0.
length Cuenta la cantidad de opciones (option) que conforman un select
Para introducir esta nueva opción en un select se debe usar la siguiente sintaxis:
nombre_formulario.nombre_select.options[index] = variable
nombre_formulario.nombre_select.options[index] = null
El objeto select II
16.1 Ejemplos de aplicación
<script languaje="javascript">
function habilitar(form)
{
if (form.productos[0].selected == true)
{
form.cantidad.disabled = true;
}
else
{
form.cantidad.disabled = false;
}
}
</script>
El formulario...
Formularios y Javascript - Manual completo Página 28 de 42
Los resultados...
<script language="javascript">
function agregarOpciones(form)
{
var selec = form.tipos.options;
var combo = form.estilo.options;
combo.length = null;
if (selec[0].selected == true)
{
var seleccionar = new Option("<-- esperando selección","","","");
combo[0] = seleccionar;
}
if (selec[1].selected == true)
{
var popular1 = new Option("Rock de los 90","Rock1","","");
var popular2 = new Option("Rock de los 80","Rock2","","");
combo[0] = popular1;
combo[1] = popular2;
}
if (selec[2].selected == true)
{
var academica1 = new Option("Musica del Barroco","Barroco","","");
var academica2 = new Option("Musica del Siglo XX","Siglo XX","","");
var academica3 = new Option("Música del Romantisismo","Romantico","","");
combo[0] = academica1;
combo[1] = academica2;
combo[2] = academica3;
}
}
</script>
El formulario...
<select name="estilo">
<option value=""><-- esperando selección</option>
</select>
Los resultados...
Validar un select
Como en los dos ejemplos anteriores, vimos que existen opciones que tienen un valor nulo (value=""). Se supone que ese
tipo de opciones, no debe ser enviada en un formulario, ya que no tienen ese valor. Este ejemplo, verificará que la opción
elegida, sea una opción válida.
El script...
<script languaje="javascript">
function validar(form)
{
if (form.combo1.options[form.combo1.selectedIndex].value == "")
{
alert("Por favor, seleccione una opción válida");
form.combo1.focus(); return true;
}
form.submit();
}
</script>
El formulario...
Los resultados...
<script languaje="javascript">
function modificarTexto(form)
{
var selec = form.opciones.options;
if (select[0].selected == true)
{ selec[0].text = "Esta no es una opción válida"; form.opciones.focus(); }
else {
select[form.opciones.selectedIndex].text = "Presione el botón enviar"; }
}
</script>
El formulario...
Los resultados...
El objeto file
17.1 Principales propiedades
propiedad descripción
name nombre que identifica el objeto
size ancho de la caja de texto
disabled deshabilita el campo de texto y el botón del objeto file
evento descripción
Permite realizar una acción al poner el foco en el campo. Es un evento bastante
onFocus molesto, porque en realidad, actúa en forma similar al evento onClick, bloqueando el
campo.
Permite realizar una acción cuando el foco ya no se encuentra en el campo. Tal vez,
onBlur es un poco más útil que el anterior, ya que solo podría lanzarse una acción, en caso
que el campo se encuentre vacío.
Hemos querido hacer un formulario sencillo, para que el ejercicio no se haga demasiado complicado. No
obstante, se realizan validaciones en campos con distintos valores, para hacerlo más variado. Se
comprueba un campo donde debe figurar un texto, otro donde debe introducirse un número mayor que 18
y un último con un campo select donde deben haber seleccionado un valor.
Referencia: para comprender este ejercicio hace falta conocer el trabajo con formularios con Javascript
[http://www.desarrolloweb.com/manuales/50/]. Podemos aprender también Javascript desde cero
http://www.desarrolloweb.com/javascript/, si es que fuera necesario.
<form name="fvalida">
<table>
Formularios y Javascript - Manual completo Página 31 de 42
<tr>
<td>Nombre: </td>
<td><input type="text" name="nombre" size="30" maxlength="100"></td>
</tr>
<tr>
<td>Edad: </td>
<td><input type="text" name="edad" size="3" maxlength="2"></td>
</tr>
<tr>
<td>Interés:</td>
<td>
<select name=interes>
<option value="Elegir">Elegir
<option value="Comercial">Contacto comercial
<option value="Clientes">Atención al cliente
<option value="Proveedores">Contacto de proveedores
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="button" value="Enviar"
onclick="valida_envia()"></td>
</tr>
</table>
</form>
Es un formulario cualquiera. Los únicos puntos donde debemos prestar atención son:
z El nombre del formulario, "fvalida", que utilizaremos para referirnos al él mediante Javascript.
z El botón de enviar, que en lugar de ser un submit corriente, es un botón que llama a una función, que se encarga
de validar el formulario y enviarlo si todo fue correcto.
Función Javascript para validar el formulario
Ahora veremos la función que hemos creado para validar el formulario. Se llama valida_envia().
Simplemente, para cada campo del formulario, comprueba que el valor introducido es correcto. Si no es
correcto, muestra un mensaje de alerta, pone el foco de la aplicación en el campo que ha dado el error y
abandona la función retornando el valor 0.
Si todos los campos eran correctos, la función continúa hasta el final, sin salirse, por no estar ningún
campo incorrecto. Entonces ejecuta la sentencia última, que es el envío del formulario.
function valida_envia(){
//valido el nombre
if (document.fvalida.nombre.value.length==0){
alert("Tiene que escribir su nombre")
document.fvalida.nombre.focus()
return 0;
}
//valido el interés
if (document.fvalida.interes.selectedIndex==0){
alert("Debe seleccionar un motivo de su contacto.")
document.fvalida.interes.focus()
Formularios y Javascript - Manual completo Página 32 de 42
return 0;
}
En el primer bloque se valida el campo nombre. La validación que se hace es simplemente si se ha escrito
algo en el campo. Para ello comprueba si el número de caracteres escritos en el campo nombre es cero.
En ese caso, muestra el mensaje de alerta, sitúa el foco en el campo de texto y se sale de la función
devolviendo el valor 0.
Nota: el foco de la aplicación es el lugar donde está situado el cursor. El foco puede estar en cualquier
sitio. Por ejemplo en un campo de texto, en un select, en un enlace o en la propia página. Si presionamos
una tecla del teclado afecta al lugar donde está situado el foco. Si, por ejemplo, el foco está en un campo
de texto, al operar con el teclado estaremos escribiendo en ese campo de texto.
La validación de la edad mayor que 18 años tiene dos partes. Primero debemos comprobar que en el
campo de texto hay escrito un valor entero. Luego, si teníamos un entero, habría que comprobar que es
mayor que 18. Para hacer esta validación nos vamos a apoyar en una función que ya hemos visto en otro
artículo de DesarrolloWeb.com, que habla sobre cómo validar un entero en un campo de formulario
[http://www.desarrolloweb.com/articulos/707.php]. Esa función devuelve un string vació en caso de que no sea
un entero y el propio entero, si es que lo era.
Antes de realizar la validación de la edad propiamente dicha, se obtiene el valor introducido en el campo
de formulario edad y se guarda en una variable llamada edad. Luego se ejecuta la función pasando esta
edad. Su resultado lo utilizamos para volcarlo otra vez al campo de texto. Entonces, se comprueba si el
valor devuelto por la función es un string vacío. En ese caso, es que el valor escrito en el formulario no era
un entero, por lo que se muestra el mensaje de error, se sitúa el foco y se sale de la función.
En caso de que el campo edad contuviese un entero, se debe comprobar a continuación si es mayor que
18. En caso de que sea menor, se muestra el error y se sale. En caso contrario -entonces el valor sería
mayor o igual que 18-, se continúa con las comprobaciones.
Por último se valida el campo select, donde aparece el interés del supuesto visitante, que le motiva para
enviarnos el formulario. En ese campo se debe haber seleccionado cualquier opción menos la primera.
Para asegurarnos, simplemente se comprueba si el atributo selectedIndex del campo select tiene el valor
0. Ese atributo almacena el índice seleccionado en el menú desplegable. El primer campo tiene el índice 0,
el segundo el índice 1...
Si se comprueba que selectedIndex vale 0, se muestra un mensaje de alerta, se pone el foco en el campo
del formulario y se sale de la función.
Si hemos llegado hasta este punto sin salirnos de la función es que todos los campos del formulario
estaban rellenos correctamente. En ese caso se debe enviar el formulario. Antes de enviar el formulario se
muestra un mensaje de alerta, agradeciendo que se haya rellenado correctamente. Este mensaje se puede
suprimir si se desea.
Para enviar el formulario se hace una llamada al método submit() de dicho formulario.
Conclusión
Este ejercicio es de lo más básico y útil que se puede hacer en Javascript. Requiere ciertos conocimientos,
ya ligeramente avanzados, pero en el fondo no resulta complicado. Incluso ampliarlo es bastante sencillo,
siempre que sigamos un esquema similar para cada uno de los campos.
Javascript. Se trata de hacer un enlace para que se puedan marcar todos los campos checkbox que haya
en un formulario de una sola vez, es decir, sin tener que pulsarlos uno a uno para marcarlos todos.
También haremos la función que permita deseleccionar todos los campos checkbox del formulario de una
sola vez.
El ejercicio es simple de entender, pero podemos verlo en funcionamiento en una página aparte
[http://www.desarrolloweb.com/articulos/ejemplos/tallerjs/formulario-check.html para hacernos una idea exacta de
nuestras intenciones.
El formulario HTML
Tenemos un formulario creado con HTML que es donde estarán los checkboxes que hay que marcar y
desmarcar automáticamente. El formulario es muy sencillo. Lo vemos a continuación.
<form name="f1">
Nombre: <input type="text" name="nombre">
<br>
<input type="checkbox" name="ch1"> Opcion 1
<br>
<input type="checkbox" name="ch2"> Opcion 2
<br>
<input type="checkbox" name="ch3"> Opcion 3
<br>
<input type="checkbox" name="ch4"> Opcion 4
<br>
//Otro campo de formulario:
<select name=otro>
<option value="1">Seleccion 1
<option value="2">Seleccion 2
</select>
<br>
<input type="submit">
<br>
<br>
<a href="javascript:seleccionar_todo()">Marcar todos</a> |
<a href="javascript:deseleccionar_todo()">Marcar ninguno</a>
</form>
Lo único que debemos fijarnos es que hemos colocado diversos tipos de elementos en el formulario. En
realidad sólo vamos a trabajar con el estado de los checkbox, pero hemos incluido otros elementos porque
lo habitual en un formulario es que hayan elementos de varios tipos.
Al final del formulario tenemos un par de enlaces para marcar o desmarcar todos los checkboxes de una
sola vez. Estos enlaces llaman a un par de funciones Javascript que veremos ahora.
Funciones de Javascript
function seleccionar_todo(){
for (i=0;i<document.f1.elements.length;i++)
if(document.f1.elements[i].type == "checkbox")
document.f1.elements[i].checked=1
}
La función seleccionar_todo() realiza un recorrido por todos los elementos del formulario. Para hacer un
recorrido por todos los campos se utiliza el array "elements", que guarda una referencia con cada
elemento que haya dentro del formulario.
En el recorrido comprueba si el elemento actual es de tipo "checkbox" (recordar que el array elements
contiene todos los elementos, pero sólo deseamos operar con los que sean checkbox) y en ese caso,
simplemente se actualiza el atributo "checked" al valor 1, con lo que el chekbox se marcará.
function deseleccionar_todo(){
for (i=0;i<document.f1.elements.length;i++)
if(document.f1.elements[i].type == "checkbox")
document.f1.elements[i].checked=0
}
La función deseleccionar_todo() es casi igual que la anterior. Realiza un recorrido a todos los elementos y
Formularios y Javascript - Manual completo Página 34 de 42
en el caso que sean checkbox, se fija a cero el atributo "checked" para que la caja de selección se quede
desmarcada.
El ejemplo no tiene más misterio. Se puede ver en marcha en una página aparte
[http://www.desarrolloweb.com/articulos/ejemplos/tallerjs/formulario-check.html].
<BODY onLoad="this.document.ejemplo1.campo1.focus()">
<script language="javascript">
function Convertir(objeto)
{
var index;
var tmpStr;
var tmpChar;
var preString;
var postString;
var strlen;
tmpStr = objeto.value.toLowerCase();
strLen = tmpStr.length;
if (strLen > 0)
{
for (index = 0; index < strLen; index++)
{
if (index == 0)
{
tmpChar = tmpStr.substring(0,1).toUpperCase();
postString = tmpStr.substring(1,strLen);
tmpStr = tmpChar + postString;
}
else
{
tmpChar = tmpStr.substring(index, index+1);
if (tmpChar == " " && index < (strLen-1))
{
tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();
preString = tmpStr.substring(0, index+1);
postString = tmpStr.substring(index+2,strLen);
tmpStr = preString + tmpChar + postString;
}
}
}
}
objeto.value = tmpStr;
}
</script>
<script language="javascript">
function Convertir2(form)
{
texto=form.campo1.value+" ";
texto=texto.toLowerCase();
texto1="";
punc=",.?!:;)'";
punc+='"';
while ((texto.length>0)&&(texto.indexOf(" ")>-1))
{
pos=texto.indexOf(" ");
wrd=texto.substring(0,pos);
wrdpre="";
if (punc.indexOf(wrd.substring(0,1))>-1)
{
wrdpre=wrd.substring(0,1);
wrd=wrd.substring(1,wrd.length);
}
cmp=" "+wrd+" ";
for (var i=0;i<9;i++)
{
p=wrd.indexOf(punc.substring(i,i+1));
if (p==wrd.length-1)
{
cmp=" "+wrd.substring(0,wrd.length-1)+" ";
i=9;
}
}
if (cmp.indexOf(cmp)<0)
{
ltr=wrd.substring(0,1);
ltr=ltr.toUpperCase();
wrd=ltr+wrd.substring(1,wrd.length);
}
texto1+=wrdpre+wrd+" ";
texto=texto.substring((pos+1),texto.length);
}
ltr=texto1.substring(0,1);
ltr=ltr.toUpperCase();
texto1=ltr+texto1.substring(1,texto1.length-1);
form.campo1.value=texto1;
}
</script>
<script languaje="javascritp">
function validarCampos1(form)
{
if(form.campo1.value == form.campo2.value)
{
alert("La contraseña no puede ser igual al nombre de usuario");
form.campo2.value = ""; form.campo2.focus(); return true;
}
form.submit()
}
</script>
Usuario:
Contraseña:
Registrarse
<script languaje="javascritp">
function validarCampos2(form)
{
if(form.campo2.value == form.campo1.value)
{ form.submit(); }
else
{
alert("La repetición de la contraseña no coincide.");
form.campo2.value = ""; form.campo2.focus(); return true;
}
}
Formularios y Javascript - Manual completo Página 37 de 42
</script>
Contraseña:
Repetir contraseña:
Registrarse
7. Permite seleccionar solo una determinada cantidad de checkbox del mismo nombre
<script language="javascript">
function limitarSelección(casilla,form)
{
a = casilla.form.casilla1[0].checked;
b = casilla.form.casilla1[1].checked;
c = casilla.form.casilla1[2].checked;
d = casilla.form.casilla1[3].checked;
e = casilla.form.casilla1[4].checked;
contador = (a ? 1 : 0) + (b ? 1 : 0) + (c ? 1 : 0) + (d ? 1 : 0) + (e ? 1 : 0);
if (contador > 3)
{
alert("Solo puedes seleccionar 3 opciones");
casilla.checked = false;
}
}
</script>
<script language="javascript">
Formularios y Javascript - Manual completo Página 38 de 42
function todos(form)
{
for (i = 0; i < form.casilla1.length; i++)
form.casilla1[i].checked = true;
form.desmarcatodos.checked = false;
}
function ninguno(form)
{
for (i = 0; i < form.casilla1.length; i++)
form.casilla1[i].checked = false;
form.marcatodos.checked = false;
}
</script>
c Marcar todos | g
d
e
f
g c Desmarcar todos
d
e
f
g Opción 1
c
d
e
f
c Opción 2
d
e
f
g
c Opción 3
d
e
f
g
c Opción 4
d
e
f
g
g Opción 5
c
d
e
f
Enviar
9. Selecciona todos los checkbox con un solo click o los deselecciona o invierte la selección
<script language="javascript">
function todos2(form)
{
for (i = 0; i < form.casilla1.length; i++)
form.casilla1[i].checked = true;
form.desmarcatodos.checked = false;
form.invierte.checked = false;
}
function ninguno2(form)
{
for (i = 0; i < form.casilla1.length; i++)
form.casilla1[i].checked = false;
form.marcatodos.checked = false;
form.invierte.checked = false;
}
function invertir(form)
{
for (i = 0; i < form.casilla1.length; i++)
form.casilla1[i].checked = !form.casilla1[i].checked;
form.marcatodos.checked = false;
form.desmarcatodos.checked = false;
Formularios y Javascript - Manual completo Página 39 de 42
}
</script>
c Marcar todos | g
d
e
f
g c Desmarcar todos | g
d
e
f c Invertir selección
d
e
f
c Opción 1
d
e
f
g
g Opción 2
c
d
e
f
c Opción 3
d
e
f
g
c Opción 4
d
e
f
g
c Opción 5
d
e
f
g
Enviar
<script languaje="javascript">
function ContarCasillas(form)
{
var total = 0;
var maximo = form.casilla1.length;
c Rojo
d
e
f
g
c Azul
d
e
f
g
g Amarillo
c
d
e
f
c Verde
d
e
f
g
Contar casillas
Formularios y Javascript - Manual completo Página 40 de 42
<script languaje="javascript">
function validaCantidad(form)
{
if(form.cantidad.value < 1)
{
form.cantidad.value = 1;
alert("No puede comprar menos de 1 producto");
}
<script languaje="javascript">
function contarPalabras(form)
{
texto = form.mensaje.value
texto = texto.split(" ")
form.cantidad.value=texto.length
}
</script>
Enviar
Formularios y Javascript - Manual completo Página 41 de 42
<script languaje="javascript">
function esconde(form)
{
if ((form.nombre.value != "") && (form.apellido.value != ""))
{ form.enviar.style.visibility = "visible"; }
else {
form.enviar.style.visibility = "hidden"; }
}
</script>
Nombre:
Apellido:
<script languaje="javascript">
function deshabilita(form)
{
if ((form.nombre.value != "") && (form.apellido.value != ""))
{ form.enviar.disabled = false; }
else {
form.enviar.disabled = true; }
}
</script>
Nombre:
Apellido:
Enviar
<script languaje="javascript">
function ConfirmarBorrado(form)
{
borrar = window.confirm('Se borrarán todos los datos del formulario');
(borrar)?form.reset():'return false';
}
</script>
Formularios y Javascript - Manual completo Página 42 de 42
Nombre:
Apellido:
Borrar
<script languaje="javascript">
function ConfirmarEnvio(form)
{
enviar = window.confirm('Se enviarán todos los datos del formulario');
(enviar)?form.submit():'return false';
}
</script>
Nombre:
Apellido:
Enviar
Volver [http://www.desarrolloweb.com/manuales/50]