Foros del Web » Programando para Internet » Javascript »

Mantener el valor del input

Estas en el tema de Mantener el valor del input en el foro de Javascript en Foros del Web. Amigos mi problema es que no mantiene el valor de mi input al buscar Me explico cuando genero un numero tengo un boton que busca ...
  #1 (permalink)  
Antiguo 29/10/2009, 08:01
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Exclamación Mantener el valor del input

Amigos mi problema es que no mantiene el valor de mi input al buscar Me explico cuando genero un numero tengo un boton que busca si esta libro o no cuando me sale libre sale un mensaje de libre ese numero ¿PERO EN EL INPUT SE BORRA Y POR LO TANTO AL INSERTAR EN MI BASE DE DATOS PASA CON VALOR DE 0 asi?

1.- ANTES DE PRESIONAR COMPROBAR:
http://img267.imageshack.us/img267/2458/29087196.jpg

2.- CUANDO PRESIONA COMPROBAR EL VALOR SE BORRA DEL INPUT Y CUANDO PASA A INSERTAR A LA BD PASA CON EL VALOR DE 0
http://img526.imageshack.us/img526/3227/20689386.jpg

¿MI PREGUNTA ES COMO PUEDO MANTENER ESE VALOR GENERADO DENTRO DEL INPUT ANTES Y DESPUES DE COMPROBAR?

AQUI LES DEJO MI CODIGO DE COMPROBAR:
Código JAVASCRIPT:
Ver original
  1. <script type="text/javascript">
  2.         // Comprobar ni esta no ese numero echo
  3.                 function nuevoAjax()
  4.                 {
  5.                 /* Crea el objeto AJAX*/
  6.                     var xmlhttp=false;
  7.                     try
  8.                     {
  9.                         // Creacion del objeto AJAX para navegadores no IE
  10.                         xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
  11.                     }
  12.                     catch(e)
  13.                     {
  14.                         try
  15.                         {
  16.                             // Creacion del objet AJAX para IE
  17.                             xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  18.                         }
  19.                         catch(E) { xmlhttp=false; }
  20.                     }
  21.                     if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }
  22.                
  23.                     return xmlhttp;
  24.                 }
  25.                
  26.                 function eliminaEspacios(cadena)
  27.                 {
  28.                     // Funcion equivalente a trim en PHP
  29.                     var x=0, y=cadena.length-1;
  30.                     while(cadena.charAt(x)==" ") x++;  
  31.                     while(cadena.charAt(y)==" ") y--;  
  32.                     return cadena.substr(x, y-x+1);
  33.                 }
  34.                
  35.                 function validaIngreso(valor)
  36.                 {
  37.                     /* Funcion encargada de validar lo ingresado por el usuario. Se devuelve TRUE en caso de ser
  38.                     valido, FALSE en caso contrario */
  39.                     var reg=/(^[a-zA-Z0-9.@ ]{4,40}$)/;
  40.                     if(reg.test(valor)) return true;
  41.                     else return false;
  42.                 }
  43.                
  44.                 function nuevoEvento(evento)
  45.                 {
  46.                     // Obtengo el div donde se mostraran las advertencias y errores
  47.                     var divMensaje=document.getElementById("error");
  48.                
  49.                     /* Dependiendo de cual sea el evento que ejecuto esta funcion (ingreso o verificacion) se setean
  50.                     distintas variables */ 
  51.                     if(evento=="ingreso")
  52.                     {
  53.                         var input=document.getElementById("ingreso");
  54.                         // Boton presionado
  55.                         var boton=document.getElementById("botonIngreso");
  56.                         // Valor ingresado por el usuario
  57.                         var valor=input.value;
  58.                         // Texto a colocar en el input mientras se esta cargando la respuesta del servidor
  59.                         var textoAccion="Ingresando...";
  60.                     }
  61.                     else
  62.                     {
  63.                         var input=document.getElementById("verificacion");
  64.                         // Boton presionado
  65.                         var boton=document.getElementById("botonVerificacion");
  66.                         // Valor ingresado por el usuario
  67.                         var valor=input.value;
  68.                         // Texto a colocar en el input mientras se esta cargando la respuesta del servidor
  69.                         var textoAccion="Comprobando...";
  70.                     }
  71.                     // Elimino espacios por delante y detras de lo ingresado por el usuario
  72.                     valor=eliminaEspacios(valor);
  73.                     // Si el ingreso es invalido coloco un mensaje de error en la capa correspondiente
  74.                     if(!validaIngreso(valor))
  75.                     {
  76.                         divMensaje.innerHTML="El texto ingresado contiene caracteres o longitud inv&aacute;lida";
  77.                     }
  78.                     else
  79.                     {
  80.                         // Deshabilito inputs y botones para evitar dobles ingresos
  81.                         boton.disabled=true; input.disabled=true;
  82.                         input.value=textoAccion;
  83.                        
  84.                         // Creo la conexion con el servidor y le envio la variable evento (que le indica si debe ingresar o verificar) y el dato a utilizar
  85.                         var ajax=nuevoAjax();
  86.                         ajax.open("POST", "modulos/jugadores/vistas/ajax/comprobar_disponibilidad_de_apodo_proceso.php", true);
  87.                         ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  88.                         ajax.send(evento+"="+valor);
  89.                        
  90.                         ajax.onreadystatechange=function()
  91.                         {
  92.                             if (ajax.readyState==4)
  93.                             {
  94.                                 // Habilito nuevamente botones e inputs
  95.                                 input.value="";
  96.                                 boton.disabled=false; input.disabled=false;
  97.                                 // Muestro el mensaje enviado desde el servidor
  98.                                 divMensaje.innerHTML=ajax.responseText;
  99.                             }
  100.                         }
  101.                     }
  102.                 }
  103. </script>
  104.  
  105.  <td id="carlos" style="text-align:left">Nº Registro:</td>
  106.              <td><input name="registro_fbf" type="text" size="10"  id="verificacion" readonly="true" /> <a href="javascript:void(null);" id="texto" style="font:Arial, Helvetica, sans-serif; font-family:Arial, Helvetica, sans-serif; font-size:11px; font-weight: 300; color:#FF0000;">Generar</a>  <button type="button" id="botonVerificacion" onClick="nuevoEvento('verificacion')">Comprobar</button>
  107.                 <div class="mensaje" id="error"></div>
  108.             </div>
  #2 (permalink)  
Antiguo 29/10/2009, 08:12
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Mantener el valor del input

Es que aquí estás borrando el valor del campo:
Código Javascript:
Ver original
  1. input.value="";
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 29/10/2009, 08:29
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Mantener el valor del input

David dentro del input.value=""; deberia colocar ( document.form.registro_fbf.value);
Asi:
Código javascript:
Ver original
  1. input.value="document.form.registro_fbf.value";

La verdad no me ubico bien en esta parte coloco esto genero el numero y clikeo en comprobar y me sale esto document.form.registro_fbf.value como impreso PQ, Que deberia colocar ??
Gracias David por tu tiempo
  #4 (permalink)  
Antiguo 29/10/2009, 08:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Mantener el valor del input

Es que si colocas entre comillas se interpreta como texto.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 29/10/2009, 08:38
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Mantener el valor del input

Lo puse asi:
input.value=document.form1.registro_fbf.value;
Y me sale asi.
http://img408.imageshack.us/img408/6527/54744575.jpg

Ahora por hacer la prueba borre el comillas y no puse nada y las acciones ya no funcionan no hace la comprobacion.
  #6 (permalink)  
Antiguo 29/10/2009, 08:42
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Mantener el valor del input

El problema es que antes ya estás asignando otro valor a ese campo.

En este caso la variable que contiene el valor ingresado es "valor" (aunque debe tener alcance fuera de la función para que puedas recuperarlo en el onreadystatechange)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 29/10/2009, 08:49
 
Fecha de Ingreso: septiembre-2009
Mensajes: 281
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Mantener el valor del input

Uta Gracias David esta resuelto aunque estuve haciendo esto mira :
Código javascript:
Ver original
  1. var registro = document.form1.registro_fbf.value;
  2.      registro = parseInt(registro);
  3.     // Habilito nuevamente botones e inputs
  4.     input.value=registro;

El resultado era generaba al momento de comprobar lo hacia pero en dentro del input aparecia NaN, creo q esa no era la solucion exacta pero tendria qye haber funcionado ?

Gracias David esta resulto
  #8 (permalink)  
Antiguo 29/10/2009, 08:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Mantener el valor del input

No, de esa forma no funcionaba porque en el campo ya no se encuentra el valor ingresado por el usuario sino el texto "Comprobando..."
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 14:34.