Foros del Web » Programando para Internet » Javascript »

Delimitar una caja de texto

Estas en el tema de Delimitar una caja de texto en el foro de Javascript en Foros del Web. lo que quiero hacer es lo siguiente; en mi caja de texto quiero que solo puedan ingresar hasta 200 caracteres; si llega a ingresar esos ...
  #1 (permalink)  
Antiguo 06/10/2009, 18:36
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Exclamación Delimitar una caja de texto

lo que quiero hacer es lo siguiente; en mi caja de texto quiero que solo puedan ingresar hasta 200 caracteres; si llega a ingresar esos 200; la caja de texto debe quedar inhabilitada; lo mas que puedo llegar es a esto; alguna ayuda por favor:
Cita:
<input type='text' name='texto1' class='form' onKeyup="javascript:if(this.value.length==200) readonly"></input>
  #2 (permalink)  
Antiguo 06/10/2009, 18:43
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Delimitar una caja de texto

readonly es la propiedad pero no le estas indicando la referencia al textbox. y por ultimo, readonly te devuelve un boolean indicando si el campo es readonly o no, tienes que asignarle true para hacerlo readonly.

por otro lado, ¿no crees que es mas conveniente usar el atributo maxlength?
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 06/10/2009, 19:50
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Delimitar una caja de texto

quedaria mas o menos asi:
Cita:
<input type='text' name='texto1' class='form' onKeyup="javascript:if(this.value.length==200) document.form11.texto1.readonly=true"></input>
claro tienes razon con respecto a lo de maxlength me habia olvidado de ese atributo; igual gracias por la ayuda.
  #4 (permalink)  
Antiguo 06/10/2009, 19:56
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Delimitar una caja de texto

Cita:
document.form11.texto1.readonly=true
esa linea la puedes reducir con this tal como lo usas en el condicional.
Código:
this.readOnly=true
se me paso por alto que el atributo readonly se escribe readOnly en javascript.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 07/10/2009, 14:08
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Delimitar una caja de texto

Gracias zerokilled; funciona la prefeccion; lo unico que le agregue fue el false; ya que sino no se podría borrar.
Cita:
onKeyup="javascript:if(this.value.length==3){ this.readOnly=true} else {this.readOnly=false}
Zerokilled; una pregunta mas; como podria hacer para un replace de caracteres especiales en mozilla; es decir que me reemplaze las letras con tile ej.: á,é.....por caracteres normales a,e........y la letra ñ supongo que se cambiara por n; y por ultimo el simbolo de ''; ya que esos simbolos me dan varios problemas la momento de cargar mis modalbox; gran parte del codigo no se ejecuta.
  #6 (permalink)  
Antiguo 07/10/2009, 15:37
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Delimitar una caja de texto

estoy seguro que debe existir otra alternativa mejor basandose en algun algoritmo del unicode pero no logro hacer uno.
Código:
function latinchar(latin, english){
var chars = {};
for(var i = 0; i < latin.length; i++)
chars[latin.charAt(i)] =  english.charAt(i);
return chars;
}
var charset = latinchar('áéíóúñÁÉÍÓÚÑ"', 'aeiounAEIOUN');

'áéíóúñÁÉÍÓÚÑ"'.replace(/[áéíóúñÁÉÍÓÚÑ"]/g, function(match){
return charset[match];
})
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 07/10/2009, 17:03
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Delimitar una caja de texto

prueba con esto
Código javascript:
Ver original
  1. function checar(valor){
  2.     if(valor.value.length == 3){// el 3 lo cambias por el numero que quieras
  3.         document.getElementById(valor.id).readOnly=true;
  4.     }
  5. }
y para usarlo
Código html:
Ver original
  1. <input type="text" name="text" id="text" onkeyup="checar(this);" />
saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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 11:43.