Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Mandar un alert cuando ya alcance un numero de caracteres en un textbox + jquery

Estas en el tema de Mandar un alert cuando ya alcance un numero de caracteres en un textbox + jquery en el foro de Jquery en Foros del Web. Hola gente, Hoy tengo una duda... Como hago para saber cuando ya digite un numero dado de caracteres en un textbox, osea Pongamos de ejemplo ...
  #1 (permalink)  
Antiguo 30/12/2013, 11:37
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Pregunta Mandar un alert cuando ya alcance un numero de caracteres en un textbox + jquery

Hola gente,

Hoy tengo una duda... Como hago para saber cuando ya digite un numero dado de caracteres en un textbox, osea

Pongamos de ejemplo 3 caracteres entonces dígito:

abc cuando yo digite la c quiero enviar un alert diciendo llegaste al limite de caracteres permitidos, alguna ayuda por favor ?
  #2 (permalink)  
Antiguo 30/12/2013, 11:48
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Mandar un alert cuando ya alcance un numero de caracteres en un textbox +

Trabaja con el evento onkeypress, para que cada vez que se pulse una tecla teniendo el input el enfoque, se verifique la cantidad de caracteres que contiene como valor. Si dicha cantidad es igual a 3 o al límite que establezcas, con el método preventDefault, se evita el comportamiento normal del evento que consiste en imprimir el valor de la tecla pulsada en el input, mientras que si la cantidad de caracteres ingresados es menor en 1 al límite, solamente se muestra el mensaje de alerta, que veo que es lo que quieres hacer.

Código HTML:
Ver original
  1. <input id = "caja" />

Código Javascript:
Ver original
  1. var caja = document.getElementById("caja"),
  2.     limite = 3;
  3.  
  4. caja.onkeypress = function(e){
  5.   var cantidadActual = this.value.length;
  6.   if (cantidadActual == limite - 1)
  7.     alert("Ya alcanzó el límite de caracteres");
  8.  
  9.   if (cantidadActual >= limite)
  10.     e.preventDefault();
  11. };

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 30/12/2013 a las 11:54
  #3 (permalink)  
Antiguo 30/12/2013, 12:05
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Respuesta: Mandar un alert cuando ya alcance un numero de caracteres en un textbox +

Gracias amigo probare
  #4 (permalink)  
Antiguo 30/12/2013, 12:25
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Pregunta Respuesta: Mandar un alert cuando ya alcance un numero de caracteres en un textbox +

Amigo una consulta,

mira lo que quiero es que el autocomplete me salga pero hasta cuando haya escrito al menos 3 caracteres y aca tengo lo siguiente pero no me funciona correctamente ya que cuando borro lo digitado y vuelvo a digitar una letra el autocomplete se ejecuta y no deberia ser asi, espero explicarme bien, me ayudas ?

Funcion jquery:
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.      var limit = 3;
  3.      
  4.      $("#txtAgent").keypress(function(){
  5.          var cantCaracteres = this.value.length;
  6.          
  7.          if(cantCaracteres >=  limit - 1){
  8.             $.getJSON("../class/Json-agents.php", function(data){        
  9.                   var agents = [];
  10.                  
  11.                   $(data).each(function(key, value){agents.push(value.Agent); });
  12.                  
  13.                   $("#txtAgent").autocomplete({source: agents});     
  14.             });
  15.          }
  16.      });
  17. });
  #5 (permalink)  
Antiguo 30/12/2013, 13:23
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Mandar un alert cuando ya alcance un numero de caracteres en un textbox +

Por lo que veo, el autocompletado se efectuará cuando hayan 2 o más caracteres, no cuando hayan 3 o más. Si quieres que el autocompletado se efectúe a partir del momento en que insertes el tercer caracter, la condición debe ser así:

Código Javascript:
Ver original
  1. if(cantCaracteres >=  limit){
  2.   //Autocompletado
  3. }

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 30/12/2013, 14:10
Avatar de adryan310  
Fecha de Ingreso: septiembre-2012
Mensajes: 450
Antigüedad: 11 años, 7 meses
Puntos: 3
Pregunta Respuesta: Mandar un alert cuando ya alcance un numero de caracteres en un textbox +

Amigo tenias razón pero tengo una duda... por que eso solo me funciona una vez osea solo cuando la uso la primera vez me verifica dicho IF pero cuando borro los caracteres del textbox y vuelvo a escribir de una vez me sale el autocomplete y ya no vuelve a comprobarme el IF. Alguna idea ?
Código Javascript:
Ver original
  1. if(cantCaracteres> limit){
  2.   $.getJSON("../class/Json-agents.php", function(data){      
  3.       var agents = [];
  4.                  
  5.          $(data).each(function(key, value){agents.push(value.Agent); });
  6.                  
  7.      $("#txtAgent").autocomplete({source: agents});  
  8.    });
  9. }
  #7 (permalink)  
Antiguo 30/12/2013, 14:35
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Mandar un alert cuando ya alcance un numero de caracteres en un textbox +

Es extraño, el autocompletado debería ocurrir siempre que se cumpla la condición así borres y vuelvas a escribir el contenido. No estoy seguro de que tenga algo que ver, pero también puedes probar cambiando el if por un while, aunque de cualquier forma, en ambos casos se debería cumplir la condición.

Código Javascript:
Ver original
  1. while (cantCaracteres >= limit){
  2.   $.getJSON("../class/Json-agents.php", function(data){      
  3.       var agents = [];
  4.                  
  5.          $(data).each(function(key, value){agents.push(value.Agent); });
  6.                  
  7.      $("#txtAgent").autocomplete({source: agents});  
  8.    });
  9. }
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: alcance, caracteres, javascript, numero, textbox
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 23:15.