Foros del Web » Programando para Internet » Javascript »

Alternar Activado/desactivado dos textbox

Estas en el tema de Alternar Activado/desactivado dos textbox en el foro de Javascript en Foros del Web. Buenos días, A ver si me podéis ayudar, tengo dos textbox y me gustaría que cuando el usuario escoja uno para escribir en él el ...
  #1 (permalink)  
Antiguo 11/11/2010, 05:19
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 9 meses
Puntos: 2
Alternar Activado/desactivado dos textbox

Buenos días,

A ver si me podéis ayudar, tengo dos textbox y me gustaría que cuando el usuario escoja uno para escribir en él el otro quede anulado (gris) y al revés. Es decir alternar el foco del textbox para que sólo permita escribir en uno de los dos pero nunca en los dos al mismo tiempo.

He leído y parece que onBlur sería la solución, pero no consigo que me haga ese efecto.

Muchas gracias de antemano cracks.


Mi formulario tan solo tiene dos campos de texto que son:

Código HTML:
Ver original
  1. <input class="inputTextBuscador" name="palabrallave" value="" id="palabrallave" type="Text">
  2.                    
  3.                       <input class="inputTextBuscador" name="palabrallave" value="" id="palabrallave2" type="text">
  #2 (permalink)  
Antiguo 11/11/2010, 06:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Alternar Activado/desactivado dos textbox

Código Javascript:
Ver original
  1. function  inhabilita(obj){
  2.     if(obj.id=="palabrallave"){
  3.         document.getElementById("palabrallave2").disabled=true;
  4.     }else{
  5.         document.getElementById("palabrallave").disabled=true;
  6.     }
  7. }
  8.  
  9. function rehabilita(obj){
  10. if(obj.value==""){
  11.     if(obj.id=="palabrallave"){
  12.         document.getElementById("palabrallave2").disabled=false;
  13.     }else{
  14.         document.getElementById("palabrallave").disabled=false;
  15.     }
  16.     }
  17. }

Código HTML:
Ver original
  1. <input class="inputTextBuscador" name="palabrallave" value="" id="palabrallave" type="Text" onBlur="rehabilita(this)" onFocus="inhabilita(this)" />
  2. <br>
  3. <input class="inputTextBuscador" name="palabrallave" value="" id="palabrallave2" type="text" onBlur="rehabilita(this)" onFocus="inhabilita(this)" />

El evento es onFocus, pero si el usuario deja el imput en blanco con el onBlur recuperamos la situación inicial.

Te parece bien?

Quim
  #3 (permalink)  
Antiguo 11/11/2010, 08:44
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: Alternar Activado/desactivado dos textbox

Podría hacerse con una sola función:
Código Javascript:
Ver original
  1. function habilitarOno(id,boolean){
  2.  document.getElementById(id).disabled=boolean;
  3. }
Código HTML:
Ver original
  1. <input type='text' id='c1' onfocus='habilitarOno("c2",true);' onblur="habilitarOno('c2',false);habilitarOno(this.id,true);" />
  2. <input type='text' id='c2' onfocus='habilitarOno("c1",true);' onblur="habilitarOno('c1',false);habilitarOno(this.id,true);" />
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #4 (permalink)  
Antiguo 11/11/2010, 14:22
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 19 años, 8 meses
Puntos: 9
Respuesta: Alternar Activado/desactivado dos textbox

y tambien sin funcion ....


Código HTML:
Ver original
  1. <input type='text' id='c1' onfocus="document.getElementById('c2').disabled=true" onblur="this.value==''?document.getElementById('c2').disabled=false:''" />
  2. <br />
  3. <input type='text' id='c2' onfocus="document.getElementById('c1').disabled=true" onblur="this.value==''?document.getElementById('c1').disabled=false:''" />


Saludos
  #5 (permalink)  
Antiguo 12/11/2010, 04:25
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Alternar Activado/desactivado dos textbox

Muchas gracias chicos, funciona perfecto

Pero, ¿hay alguna manera de que al hacer clic sobre la zona gris se cambie a editable? Busco que se alterne, es decir, que si hago click en el input text 1 el input text 2 se ponga en blanco (o gris), y si hago click en el input text 2 el input text 1 se ponga en blanco (o gris). Es para que solo se pueda enviar informacion por uno de los input text, pero no por los dos a la vez.
  #6 (permalink)  
Antiguo 12/11/2010, 04:33
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Alternar Activado/desactivado dos textbox

Eso es lo que exactamente hace lo que te hemos mandado....

Si entras en el primero el segundo se inhabilita y solo se rehabilita si el primero no tinen valor... y así alternativamente.

Si un objeto esta inhabilitado no se le puede hacer nada puesto que esta inhabilitado, para que el inhabilitado se rehabilite se debe borrar el contenido del otro, puesto que és lo que provoca su inhabilitación...

Quim
  #7 (permalink)  
Antiguo 12/11/2010, 04:39
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Alternar Activado/desactivado dos textbox

Ya lo tengo!!

Es así (aunque no se pone en gris, pero ya me va bien así):

Código Javascript:
Ver original
  1. <input class="inputTextBuscador" name="palabrallave" value="" id="palabrallave" type="Text" onfocus="document.getElementById('palabrallave2').value='';">
  2.   <input class="inputTextBuscador" name="palabrallave2" value="" id="palabrallave2" type="text" onfocus="document.getElementById('palabrallave').value='';">

Gracias de nuevo a todos!

Etiquetas: dos, 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 04:27.