Inicio » Introducción a JavaScript » Capítulo 11. Ejercicios resueltos » 11.17. Ejercicio 17
11.17. Ejercicio 17
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ejercicio 17 - Limitar número de caracteres en textarea</title>
<style type="text/css">
body {font-family: arial, helvetica;}
</style>
<script type="text/javascript">
function limita(elEvento, maximoCaracteres) {
var elemento = document.getElementById("texto");
// Obtener la tecla pulsada
var evento = elEvento || window.event;
var codigoCaracter = evento.charCode || evento.keyCode;
// Permitir utilizar las teclas con flecha horizontal
if(codigoCaracter == 37 || codigoCaracter == 39) {
return true;
}
// Permitir borrar con la tecla Backspace y con la tecla Supr.
if(codigoCaracter == 8 || codigoCaracter == 46) {
return true;
}
else if(elemento.value.length >= maximoCaracteres ) {
return false;
}
else {
return true;
}
}
function actualizaInfo(maximoCaracteres) {
var elemento = document.getElementById("texto");
var info = document.getElementById("info");
if(elemento.value.length >= maximoCaracteres ) {
info.innerHTML = "Máximo "+maximoCaracteres+" caracteres";
}
else {
info.innerHTML = "Puedes escribir hasta "+(maximoCaracteres-elemento.value.length)+" caracteres adicionales";
}
}
</script>
</head>
<body>
<div id="info">Máximo 100 caracteres</div>
<textarea id="texto" onkeypress="return limita(event, 100);" onkeyup="actualizaInfo(100)" rows="6" cols="30"></textarea>
</body>
</html>
Descargar solución completa
Puedes sugerir, comentar, criticar e informar de errores en contacto (arroba) librosweb.es