Foros del Web » Programando para Internet » Javascript »

Evento onclick para bloquear campos

Estas en el tema de Evento onclick para bloquear campos en el foro de Javascript en Foros del Web. Hola a todos :) Tengo un formulario web donde hay dos campos que solo puedes rellenar o el uno o el otro. Son dos inputs ...
  #1 (permalink)  
Antiguo 20/01/2015, 03:16
Avatar de maiksix  
Fecha de Ingreso: noviembre-2014
Ubicación: Sabadell
Mensajes: 124
Antigüedad: 10 años
Puntos: 1
Evento onclick para bloquear campos

Hola a todos :)

Tengo un formulario web donde hay dos campos que solo puedes rellenar o el uno o el otro. Son dos inputs de type="text" y para bloquearlo he usado javascript i el evento onclick en cada uno de ellos, es decir, si hacen click en el primero se llama la función de bloqueo y bloquea el segundo campo.

Hasta ahí todo funciona perfectamente pero el problema esta en que si hacen click por ejemplo en el campo A, escriben lo que quieren, y luego se dan cuenta de que se han equivocado de campo, borran el contenido de A y proceden a rellenar el campo B, el campo B sigue bloqueado, ya que el evento onclick ya ha sucedido.

Así que mi duda es como puedo decirle que dependa del length del texto también? Ya que si pongo onclick y le dijo que además length >=1 sólo ejecuta la función cuando hacen click, y no cuando borran por ejemplo, o cuando acaban de escribir...

Voy un poco perdido en los timings e instrucciones para ejecutar funciones cuando deseo.

A ver si me podéis echar alguna idea :)

Muchas gracias
__________________
Going hard for too long... Can't get enough
  #2 (permalink)  
Antiguo 20/01/2015, 10:28
 
Fecha de Ingreso: diciembre-2014
Mensajes: 27
Antigüedad: 9 años, 11 meses
Puntos: 4
Respuesta: Evento onclick para bloquear campos

Hola.
Porque no pruebas con el evento onkeyup="funcion()" y le pones que cuando length sea distinto de 0 bloquee el otro textbox? (onkeyup sirve para cuando una tecla es presionada.)
Un saludo
  #3 (permalink)  
Antiguo 20/01/2015, 13:38
 
Fecha de Ingreso: enero-2015
Mensajes: 1
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Evento onclick para bloquear campos

Puedes agregar una funcion de desbloqueo con un onchange(funciondesbloqueo(this.val)) en cada input asi obtendra el valor actual que tiene y si es == ''. desbloquee. ten en cuenta el funcionamiento de el onchange en los input
  #4 (permalink)  
Antiguo 24/01/2015, 09:31
Avatar de maiksix  
Fecha de Ingreso: noviembre-2014
Ubicación: Sabadell
Mensajes: 124
Antigüedad: 10 años
Puntos: 1
Respuesta: Evento onclick para bloquear campos

Muchas gracias por vuestras respuestas, lo había empezado a hacer con onchange, concretamente como indica Ivens, pero una en la función nose como decirle que me bloquee otro campo.

Tengo lo siguiente:

Código:
<tr><br><b>Competidor colectivo</b><input style="margin-left:15px; width:300px;" type="text"  id="Competidor_Colectivo" class="disabled" name="Competidor_Colectivo" value="" onchange="cambiar(this.value)"></input> &nbsp; &nbsp; &nbsp;
                
<b>Representante (competidor colectivo)</b>:<input style="margin-left:15px;width:280px;" type="text" name="Representante" class="disabled" value="" onchange="cambiar(this.value)" ></input><br></tr>
                
                <tr><br><b>Competidor individual</b><input style="margin-left:15px;width:280px;" type="text" id="Competidor_Individual" class="disabled1" name="Competidor_Individual" value="" onchange="cambiar(this.value)"></input><br><br></tr>
Entonces una vez llego a la función cambiar nose como decirle que debe hacer que si alguno de los class="disabled" es != " " debe hacer que los class="disabled1" se bloqueen y viceversa...

Muchas gracias :)
__________________
Going hard for too long... Can't get enough

Etiquetas: funciones, onclick
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:48.