Hola yo también queria hacer lo mismo pero de la forma fácil y como se supone que debería de funcionar de la siguiente forma
Código:
document.micampo.maxlength=10;
pero no.
Asi que me se me ocurrio la siguiente solución:
Código HTML:
<script language='javascript'>
/*
* campo <recibe el campo que le afectará el maxlength>
* id <id del span (en mi caso usé un span puede ser cualquier otra etiqueta)>
* tamano <valor del maxlength que tendrá el campo que especifiquemos>
*/
function cambiaMaxLength(campo,id,tamano)
{
var valor = campo.value;//guardamos temporalmente el value del campo para que el valor que hayamos escrito no se borre.
var nombreCampo = campo.name;//obtenemos el nombre del campo.
if(valor.length>tamano)//si el tamaño de la cadena que sacamos es mayor al maxlength que especificamos, recorta la cadena.
valor = valor.substring(0,tamano);
//reemplaza el campo por el nuevo con el maxlegth especificado
document.getElementById(id).innerHTML = "<input type='text' name='"+nombreCampo+"' maxlength='"+tamano+"' value='"+valor+"' style='width:60px;' />";
}
</script>
<form name="form1">
<span id="idmicampo"><input type="text" name="micampo" maxlength="9" value="123456789" /></span>
<input type="button" value="Cambiar" onclick="cambiaMaxLength(document.form1.micampo,'idmicampo',5);" />
</form>
Se aceptan sugerencias o mejoras, saludos