Foros del Web » Programando para Internet » Javascript »

error al limitar la cantidad de caracteres en un textarea (IE)

Estas en el tema de error al limitar la cantidad de caracteres en un textarea (IE) en el foro de Javascript en Foros del Web. esto solo me sucede con Internet Explorer. por lo general utilizo Fire Fox, pero como los usuarios finales usan solo IE, bueno.... espero que descubran ...
  #1 (permalink)  
Antiguo 02/11/2004, 21:07
ezk
 
Fecha de Ingreso: agosto-2004
Ubicación: de requinoa... ¿alguien sabe?
Mensajes: 47
Antigüedad: 19 años, 9 meses
Puntos: 0
error al limitar la cantidad de caracteres en un textarea (IE)

esto solo me sucede con Internet Explorer.

por lo general utilizo Fire Fox, pero como los usuarios finales usan solo IE, bueno.... espero que descubran el software libre.

pero llendo al problema:

obtengo el siguiente error: al pocicionar el cursor con el mouse sobre el area de texto, el cursor no queda al inicio de dicha area, y al momento de escribir llega al final del area de texto.

alguien ha tenido dicho problema antes????

aqui esta el codigo que estoy utilizando:

<script>
function limitText(objText, maxlength) {
if (objText.value.length > maxlength)
objText.value = objText.value.substring(0, maxlength);
}
</script>

y el textarea dice lo siguiente:

<textarea name="obs_49" rows="3" cols="60" onkeyup="limitText(this,200)">

otros datos que pueden ser de utilidad:

Internet Explorer 6 SP1

desde ya, gracias!
__________________
---------------------------------------------------

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.

(oO) Cthulhu R001Z
/ | | \


---------------------------------------------------
  #2 (permalink)  
Antiguo 03/11/2004, 04:35
Avatar de lion_software  
Fecha de Ingreso: septiembre-2004
Ubicación: Colombia.
Mensajes: 6
Antigüedad: 19 años, 7 meses
Puntos: 0
Bien, Utilice el código que mencionaste en Opera y Explorer 6.0.26…. parece que funciona correctamente. ¡Pero! Por ahí buscando entre los scripts que he venido recopilando encontré lo siguiente: (pruébalo y me comentas como te pareció).
Cita:
Código:
<script>
/*
Form field Limiter script- By Dynamic Drive
For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
This credit MUST stay intact for use
*/

var ns6=document.getElementById&&!document.all
function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}

function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}

function displaylimit(theform,thelimit){
var limit_text='<b><span id="'+theform.toString()+'">'+thelimit+'</span></b> Limitite de caracteres en el comentario'
if (document.all||ns6)
document.write(limit_text)
if (document.all){
eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
}
else if (ns6){
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); 
document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true); 
}
}
</script>
y finalmente creas el formulario y llamas la función displaylimit(); y listo…

Cita:
Código:
<form name="form1" action="" method="get">
  <textarea name="comentario" cols=35 rows=5></textarea><br>
 </form>

<script>
 displaylimit("document.form1.comentario",20)
</script>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:58.