Foros del Web » Programando para Internet » Javascript »

Inhabilitar Botones Cuando un Input es Vacio

Estas en el tema de Inhabilitar Botones Cuando un Input es Vacio en el foro de Javascript en Foros del Web. Tengo el siguiente codigo fuente con lo que pretendo que si el Input esta vacio quiero deshabilitar el boton, en el momento que se escriba ...
  #1 (permalink)  
Antiguo 22/04/2009, 09:10
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 17 años, 4 meses
Puntos: 1
De acuerdo Inhabilitar Botones Cuando un Input es Vacio

Tengo el siguiente codigo fuente con lo que pretendo que si el Input esta vacio quiero deshabilitar el boton, en el momento que se escriba algo en el Input quiero que se vuelva a habilitar. Mi codigo es el siguiente pero no me funciona, me podeis dar alguna idea para conseguir que me funcione. Muchas Gracias de antemano.

Código:
<input type="submit" id="sin_ventas" name="sin_ventas" value="Sin Ventas" onkeyup="es_vacio();" onclick="return sin_ventas();"/>
La Funcion es_vacio(); es la siguiente:

Código:
<script language="javascript" type="text/javascript">
function es_vacio()
  {
   if (document.getElementById('numero_envio').value=="")
      {	  
        document.getElementById('sin_ventas').disabled=true;
       }
   else
        {
          document.getElementById('sin_ventas').disabled=false;
         }
   }		    
</script>
GRACIAS ¡¡¡¡
  #2 (permalink)  
Antiguo 22/04/2009, 09:17
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años, 2 meses
Puntos: 75
Respuesta: Inhabilitar Botones Cuando un Input es Vacio

que tal si primero lo pones vacio y luego lo habilitas segun el evento del input, por ejemplo

Código html:
Ver original
  1. <input type="text" id="venta1" name="venta1" onChange="es_vacio()">
  2.  
  3. <input type="submit" id="sin_ventas" disabled="disabled" value="sin ventas" name="sin_ventas">

luego la funcion es_vacio()
Código javascript:
Ver original
  1. function es_vacio(){
  2.   var campo1 = document.getElementById("venta1").value;
  3.   if(campo1 != ""){
  4.     document.getElementById("sin_ventas").removeAttribute('disabled');
  5.   }
  6.   else{
  7.     document.getElementById("sin_ventas").setAttribute('disabled', 'disabled');
  8.   }
  9. }
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 22/04/2009, 09:25
Avatar de TonyChile  
Fecha de Ingreso: marzo-2009
Ubicación: Maipú, Santiago
Mensajes: 422
Antigüedad: 15 años, 9 meses
Puntos: 7
Respuesta: Inhabilitar Botones Cuando un Input es Vacio

onkeyup="es_vacio();" se ejecuta cuando se levanta una tecla pulsada
por lo tanto no esta siendo de gran ayuda a tu codigo debes hacerlo con onchange
  #4 (permalink)  
Antiguo 22/04/2009, 09:25
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Respuesta: Inhabilitar Botones Cuando un Input es Vacio

Hola:

Hoy justamente respondí sobre deshabilitar algo con setAttribute/removeAttribute, y es un trabajo añadido innecesario... la idea es buena, pero mucho más sencillo es:

onchanche="sin_ventas.disabled = this.value == ''"

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 22/04/2009, 09:28
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años, 2 meses
Puntos: 75
Respuesta: Inhabilitar Botones Cuando un Input es Vacio

pense que el .disabled no funcionaba xD no me atrevia a probarlo. pero veo que se puede, la cosa es que hay q quitarlos por que en firefox, asi este disabled="" lo pone disabled, en cambio en IE no. entonces tocaria "removeAttribute" si usa el firefox
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #6 (permalink)  
Antiguo 22/04/2009, 09:51
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Respuesta: Inhabilitar Botones Cuando un Input es Vacio

Hola:

En javascript disabled es un atributo lógico o booleano, o sea que solo puede ser cierto o falso... no sé muy bien como lo implementan los distintos navegadores, pero cuando no se quiere deshabilitar algo lo mejor es no declararlo (vale también para readonly)...

El ejemplo que puse vale no solo para disabled, sino para readonly, selected (en los select) y en los botones submit y reset para validar y resetear... o sea lo falso no valida en los botones submit, ni resetea en lo tipo reset, así como no selecciona en los select (aunque el manejo de los select es otra cosa y no voy a profundizar...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 22/04/2009, 09:56
 
Fecha de Ingreso: agosto-2007
Mensajes: 248
Antigüedad: 17 años, 4 meses
Puntos: 1
De acuerdo Respuesta: Inhabilitar Botones Cuando un Input es Vacio

La Solucion es:

PASO 1: FUNCION JAVASCRIPT


Código:
<script language="javascript" type="text/javascript">
function es_vacio()
  {
  
   if (document.getElementById('numeroenvio').value=="")
      {	  
       document.getElementById('sin_ventas').disabled=true;
       document.getElementById('todo_vendido').disabled=true;
      }
  
   else {
         document.getElementById('sin_ventas').disabled=false;
         document.getElementById('todo_vendido').disabled=false;
         }
   }	
   	    
</script>

PASO 2: INPUT


Código:
  <input type="text" name="numeroenvio" id="numeroenvio" maxlength="5" size="30" onkeyup="es_vacio()"/>

PASO 3: BOTONES


Código:
<input type="submit" disabled="true" id="sin_ventas" name="sin_ventas" value="Sin Ventas" onclick="return sin_venta();"/>      
   

 <input type="submit" disabled="true" id="todo_vendido" name="todo_vendido" value="Todo Vendido" onclick="return todos_vendido();"/>
Gracias por vuestra colaboración.
  #8 (permalink)  
Antiguo 22/04/2009, 09:57
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años, 2 meses
Puntos: 75
Respuesta: Inhabilitar Botones Cuando un Input es Vacio

ese readonly no me funciona con IE xD como lo ponga no me funciona, solo si lo pongo desde el html, pero bueno eso no cabe en este topic.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #9 (permalink)  
Antiguo 22/04/2009, 10:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Respuesta: Inhabilitar Botones Cuando un Input es Vacio

Cita:
Iniciado por lobo_php Ver Mensaje
ese readonly no me funciona con IE xD como lo ponga no me funciona, solo si lo pongo desde el html, pero bueno eso no cabe en este topic.
Hola:

readonly con javascript se escribe con "O" mayúscula...

readOnly... seguro que hay algo sobre este tema en nuestras magníficas FAQs...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 22/04/2009, 10:06
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 17 años, 2 meses
Puntos: 75
Respuesta: Inhabilitar Botones Cuando un Input es Vacio

ahh que chanfle. y luego mis compañeros se burlan que por que tengo 5 navegadores instalados xD

es que si no me funciona con UNO!!!
no importa si los otro me funcionan, si no me funciona con UNO!!! no funciona...
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #11 (permalink)  
Antiguo 24/07/2009, 12:26
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Inhabilitar Botones Cuando un Input es Vacio

<script language="javascript" type="text/javascript">
// Chequeamos si un campo determinado esta vacio y desactivamos
// o activamos el boton de envio
function chequea(campo,boton){
if (campo.value != ""){
boton.disabled=false;
} else {
boton.disabled=true;
}
}
</script>

en el input

<input type="text" name="obligatorio" onKeyup="chequea(this,this.form.enviar)">

en el boton

<input type="submit" name="enviar" disabled=true>

es un ejemplo y si funciona con input
no se si alguien me podria ayudar necesito hacer lo mismo pero en 3 input no solo en uno
Espero me ayuden Gracias de antemano!!!!!
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 21:52.