Foros del Web » Programando para Internet » Javascript »

Mostrar alert cuando se alcance X caracteres.

Estas en el tema de Mostrar alert cuando se alcance X caracteres. en el foro de Javascript en Foros del Web. Hola foreros. Mi intención es hacer algo parecido a lo que aparece en la web del BBVA ( www.bbvanet.com ). Si entrais en esta página ...
  #1 (permalink)  
Antiguo 18/05/2005, 06:09
Avatar de Phoncadiz  
Fecha de Ingreso: mayo-2004
Ubicación: Cádiz City
Mensajes: 232
Antigüedad: 20 años
Puntos: 1
Mostrar alert cuando se alcance X caracteres.

Hola foreros.

Mi intención es hacer algo parecido a lo que aparece en la web del BBVA (www.bbvanet.com). Si entrais en esta página y os poneis en el campo de "Número de Usuario" sólo podeis teclear 16 caracteres y en cuanto se terminan de insertar estos 16 caracteres, salta al siguiente campo. Me gustaría que en vez de saltar al siguiente campo mostrara un alert con cierta información.

Gracias anticipadas.
__________________
Tantas horas delante de una pantalla servirá para algo....
[Phoncadiz; mínimo 8 h. al día con el PC] :stress:
  #2 (permalink)  
Antiguo 18/05/2005, 07:36
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Phoncadiz

Creo que esto te servirá:
Código PHP:
<html>
<
head>
<
script>
function 
pulsar(e,txt) {
  
tecla = (document.all) ? e.keyCode :e.which;
  if (
tecla==8) return true;
  if (
txt.length>15) {
    
alert('Algo');
    return 
false;
  }
}
</script>
</head>
<body>
<input type="text" onkeypress="return pulsar(event,this.value)" />
</body>
</html> 
Saludos,
  #3 (permalink)  
Antiguo 18/05/2005, 10:44
Avatar de Phoncadiz  
Fecha de Ingreso: mayo-2004
Ubicación: Cádiz City
Mensajes: 232
Antigüedad: 20 años
Puntos: 1
Hola JavierB

Muchiiiisimas gracias por molestarte en contestar, pero vamos a poner las cosas más complicadas
Tu código espera a escribir el caracter 16 para mostrar el ALERT en pantalla. Yo quisiera que mostrara el alert justo después de escribir el caracter 16. Osea, lo que quiero es pulsar el caracter 16, mostrarlo en el textbox y que salga el mensaje.

Si te fijas en el ejemplo del BBVA, puedes seleccionar y copiar esta lista:
12345678901234567890 (que son 20 caracteres) y al pegarlo en la caja de texto se queda así:
1234567890123456 (que son los 16 caracteres)

La verdad es que estoy complicando un poco las cosas, pero ya sabía que no era tan sencillo.
PD: realmente el contenido del textbox se introduce mediante un lector de tarjetas RS232 (puerto serie)... pero vamos... a esto no quiero que le hagas mucho caso.

Saludos y perdona por explayarmen tanto.
Ah... y gracias!!!
__________________
Tantas horas delante de una pantalla servirá para algo....
[Phoncadiz; mínimo 8 h. al día con el PC] :stress:
  #4 (permalink)  
Antiguo 18/05/2005, 11:03
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

Hagamos algunos cambios en el código:
Código PHP:
<html>
<
head>
<
script>
function 
pulsar(obj) {
  
txt=obj.value;
  if (
txt.length>16) {
    
obj.value=txt.substr(0,16);
    
alert('Algo');
    return 
false;
  }
}
</script>
</head>
<body>
<input type="text" onkeyup="return pulsar(this)" onblur="pulsar(this)" />
</body>
</html> 
Saludos,
  #5 (permalink)  
Antiguo 18/05/2005, 13:48
Avatar de Phoncadiz  
Fecha de Ingreso: mayo-2004
Ubicación: Cádiz City
Mensajes: 232
Antigüedad: 20 años
Puntos: 1
Uyyyy. Casi casi. Empiezo a sentirme un poco pesado
Imaginemos que sustituimos el 16 por 8 (para simplificar la cantidad de caracteres insertados). Efectivamente si haces un copy-paste lo hace "perfectamente" (entre comillas porque se ven los caracteres sobrantes durante un instante, pero vamos... esto es lo de menos). Lo que si que no me encaja es que cuando pulso el 8 (en este último caso) justo después no me muestra el ALERT. Ejemplo

Código actual:
->Tecleo 123456789 -> en este momento se borra el 9 quedando -> 12345678 y automáticamente sale el ALERT

Código óptimo:
->Tecleo 12345678 -> en este momento sale automáticamente el ALERT

Espero no ser un pelmazo.
Saludos again!!!
__________________
Tantas horas delante de una pantalla servirá para algo....
[Phoncadiz; mínimo 8 h. al día con el PC] :stress:
  #6 (permalink)  
Antiguo 19/05/2005, 03:58
Avatar de Phoncadiz  
Fecha de Ingreso: mayo-2004
Ubicación: Cádiz City
Mensajes: 232
Antigüedad: 20 años
Puntos: 1
Vaya... JavierB al final me va a matar. Parece ser que era más sencillo de lo que parecía:

Código PHP:
<html
<
head
<
script type=text/javascript>
    function 
cuenta()
    {
        if (
document.all.usertext.value.length>7)
        
alert('ok')
    }
</script>
</head>
<body>
<input onkeyup="cuenta();" maxlength="8" name="usertext">
</body> 
Lo que había que tener en cuanta era poner el maxlength en el input del textbox.
Siento el comedero de coco, pero agradezco el interés.

Saludos de Phoncadiz!!!!
__________________
Tantas horas delante de una pantalla servirá para algo....
[Phoncadiz; mínimo 8 h. al día con el PC] :stress:
  #7 (permalink)  
Antiguo 19/05/2005, 04:31
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Phoncadiz

No te había contestado porque, la verdad, es que no sabía como resolverlo. Me alegro de que lo hayas logrado. Hasta otra
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 08:47.