Foros del Web » Programando para Internet » Javascript »

desactivar campos vacios al enviar form

Estas en el tema de desactivar campos vacios al enviar form en el foro de Javascript en Foros del Web. hola como estan tengo una problema el cual no he logrado resolver estoy desarrollando un buscardor en php, todo redy el cual me me manda ...
  #1 (permalink)  
Antiguo 16/12/2014, 16:32
Avatar de randy05  
Fecha de Ingreso: agosto-2012
Mensajes: 37
Antigüedad: 11 años, 7 meses
Puntos: 1
desactivar campos vacios al enviar form

hola como estan tengo una problema el cual no he logrado resolver

estoy desarrollando un buscardor en php, todo redy el cual me me manda via get las variables ejemplo.....

buscador.php?search=carro&cat=1&subcat=2&precio=50 000


lo que deseo hacer que si dejo bacio cual quier campo este no se envie via get

ejemplo si dejo bacio la categoria y la subcategoria me lo muestra asi

buscador.php?search=carro&cat=&subcat=&precio=5000 0

yo deseo que me salga asi

buscador.php?search=carro&precio=50000

espero que me puedan ayudar..... grasias
  #2 (permalink)  
Antiguo 16/12/2014, 16:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: desactivar campos vacios al enviar form

Hola:

Lo que pides, creo que es aconsejable tratarlo desde el servidor (veo que con php), pero para responder con javascript, bastaría con recorrer los campos y ponerlos disabled si están vacíos...

for (i = 0, total = formulario.elements.length; i < total; i++)
formulario.elements[i].disabled = (formulario.elements[i].value == '');

Cuidado con el código porque podrían ser necesarias algunas condiciones adicionales...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 16/12/2014, 18:58
Avatar de randy05  
Fecha de Ingreso: agosto-2012
Mensajes: 37
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: desactivar campos vacios al enviar form

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Lo que pides, creo que es aconsejable tratarlo desde el servidor (veo que con php), pero para responder con javascript, bastaría con recorrer los campos y ponerlos disabled si están vacíos...

for (i = 0, total = formulario.elements.length; i < total; i++)
formulario.elements[i].disabled = (formulario.elements[i].value == '');

Cuidado con el código porque podrían ser necesarias algunas condiciones adicionales...

Saludos
disculpa mi ignorancia es que soy novato en esto de javascript. a que te refieres con

Cuidado con el código porque podrían ser necesarias algunas condiciones adicionales...

cuales son esas condiciones
  #4 (permalink)  
Antiguo 16/12/2014, 21:54
Avatar de randy05  
Fecha de Ingreso: agosto-2012
Mensajes: 37
Antigüedad: 11 años, 7 meses
Puntos: 1
desactivar select en form antes de enviar

hola como estan tengo una problema el cual no he logrado resolver

estoy desarrollando un buscardor en php, todo redy el cual me me manda via get las variables ejemplo.....

buscador.php?search=carro&cat=1&subcat=2&precio=50


lo que deseo hacer que si dejo bacio cual quier campo este no se envie via get

ejemplo si dejo bacio la categoria y la subcategoria me lo muestra asi

buscador.php?search=carro&cat=&subcat=&precio=50

yo deseo que me salga asi

buscador.php?search=carro&precio=50

espero que me puedan ayudar..... grasias

buscando en internet he coseguido esta funcion que me desactiva los input bacios, pero solo desactiva los campos input, no desctiva los campos select,

como puedo modificar esta funcion para que si no eleijo ninguna opcion del select, me desactive para que no me lo mande por get..

Código:
<script type="text/javascript">
function myFunction()
{
    var myForm = document.getElementById('form-id');
    var allInputs = myForm.getElementsByTagName('input');
    var input, i;

    for(i = 0; input = allInputs[i]; i++) {
        if(input.getAttribute('name') && !input.value) {
            input.setAttribute('name', '');
        }
    }
}
</script>
<form id="form-id" method="get" action="" name="formulaire" onSubmit="myFunction()">
  #5 (permalink)  
Antiguo 17/12/2014, 01:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: desactivar campos vacios al enviar form

Hola:

Con tu código, y con el mío...

for(i = 0; _i_ = allInputs[i]; i++)
_i_.disabled = (_i_.value == '');
... Aunque tal como lo puse abarca también los controles select

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: campos, desactivar, form, funcion, input, php, select, vacios
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 15:11.