6 ejemplos útiles de JavaScript para mejorar los formularios
4min
A continuación os mostramos seis ejemplos que serán muy útiles para mejorar formularios en proyectos de Javascript.
En un post anterior hablábamos de como validar formularios en Javascript, ahora os vamos a indicar paso a paso como podéis aplicar mejoras a estos formularios:
- Contar el número de palabras que contiene un textarea
- Habilitar o deshabilitar el botón submit
- Mostrar un mensaje de confirmación para borrar un formulario
- Poner el foco en el campo que elijamos
- Poner la primera letra de cada palabra introducida en el campo en mayúscula
- Realizar una comprobación para que el valor de dos campos sea el mismo
Contar el número de palabras que contiene un textarea
<script languaje='javascript'>
function contarPalabras(form)
{
texto = form.mensaje.value
texto = texto.split(' ')
form.cantidad.value=texto.length
}
</script>
<form name='formulario1' method='POST' action='miPagina.htm' target='_blank'>
<b>Por favor, redacte aquí su mensaje</b> Palabras escritas:
<input type='text' name='cantidad' value='0' size='2'><br>
<textarea rows='4' cols='35' name='mensaje' onKeyPress='contarPalabras(this.form); if (event.keycode1 == 13) form.mensaje.value +=' ';'></textarea><br>
<input type='submit' value='Enviar'>
</form>
Habilitar o deshabilitar el botón submit
<script languaje='javascript'>
function deshabilita(form)
{
if ((form.nombre.value != '') & (form.apellido.value != ''))
{ form.enviar.disabled = false; }
else {
form.enviar.disabled = true; }
}
</script>
<form name='formulario2' method='POST' action='miPagina.htm' target='_blank'>
Nombre: <input type='text' name='nombre' size='20' onKeyUp='deshabilita(this.form)'><br>
Apellido: <input type='text' name='apellido' size='20' onKeyUp='deshabilita(this.form)'><br>
<input type='submit' name='enviar' value='Enviar' disabled>
</form>
Mostrar un mensaje de confirmación para borrar un formulario
<script languaje='javascript'>
function ConfirmarBorrado(form)
{
borrar = window.confirm('Se van a borrar los datos introducidos en ell formulario');
(borrar)?form.reset():'return false';
}
</script>
<form name='formulario3' method='POST' action='miPagina.htm' target='_blank'>
Nombre: <input type='text' name='nombre' size='20'><br>
Profesión: <input type='text' name='profesion' size='20'><br>
<input type='button' value='Borrar' onClick='ConfirmarBorrado(this.form)'>
</form>
Poner el foco en el campo que elijamos
<BODY onLoad='this.document.formulario4.campo1.focus()'> <form name='formulario4' method='GET' action='miPagina.htm' target='_blank'> Color preferido: <input type='text' name='campo1' size='15'> <input type='submit' value='Enviar'> </form>
Poner la primera letra de cada palabra introducida en el campo en mayúscula
<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>
<form name='formulario5' method='GET' action='pagina.htm' target='_blank'>
Escribe una frase: <input type='text' name='campo1' size='25' onKeyUp='Convertir(this. formulario5.campo1)'>
<input type='submit' value='Enviar'>
</form>
Realizar una comprobación para que el valor de dos campos sea el mismo
<script languaje='javascritp'>
function validarCampos2(form)
{
if(form.campo2.value == form.campo1.value)
{ form.submit(); }
else
{
alert('La contraseña no coincide.');
form.campo2.value = ''; form.campo2.focus(); return true;
}
}
</script>
<form name='formulario6' method='POST' action='miPagina.htm' target='_blank'>
Contraseña: <input type='password' name='campo1'><br>
Repite la contraseña: <input type='password' name='campo2'><br>
<input type='button' value='Registrarse' onClick='validarCampos2(this.form)'>
</form>