| El script | Como funciona |
| <script language="JavaScript"> function calcLong(txt, dst, formul, maximo) { var largo largo = formul[txt].value.length if (largo > maximo) formul[txt].value = formul[txt].value.substring(0,maximo) formul[dst].value = formul[txt].value.length } < /script> |
Esta función
es la que se ejecuta cada vez que el usuario suelta una tecla, previamente
pulsada, o sea, es la función vinculada al evento onkeyup de un
campo texto en un formulario. Concretametne al campo de texto donde quieras
controlar el número de caracteres introducidos. Como ves la función
es llamada con algunos argumentos: txt con el nombre del campo que quieres controlar, dst, es el nombre del campo donde muestras el número de caracteres pulsados, formul es el objeto formulario, máximo el número máximo de caracteres que se permiten. Como ves el mecanismo es muy simple: cada vez que el usuario a terminado de pulsar una tecla, la función calcula la longitud del texto escrito, si supera el permitido recorta. |
| La página | Como se usa |
| <form action="" method="post" name="form1" onKeyUp="calcLong('textarea',
'caracteres',this, 11)"> < table width="66%" border="0" cellspacing="0" cellpadding="0"> < tr> < td width="35%"><p>Llevas < input name="caracteres" type="text" id="caracteres" value="0" size="4"> caracteres escritos. < /p> < p>El límite es de 11. </p></td> < td width="65%"><textarea name="textarea" cols="40" rows="6" ></textarea> < /td> < /tr> < /table> < /form> |
Para probar el script puedes usar este formulario que contiene un campo de texto en el que se permite un máximo de 11 caracteres. Observa la vinculación con la función
calcLong() encargada de controlar la longitud del texto, que en este
caso no deberá superar
los 11 caracteres. Es fácil de usar y admite modificaciones para,
por ejemlo, evitar que se teclee un cierto carácter o palabra,
o para ir formateando el texto, etc. |