Foros del Web » Programando para Internet » Javascript »

Control sobre formulario

Estas en el tema de Control sobre formulario en el foro de Javascript en Foros del Web. Necesito establecer a través de un form, dos o más modalidades de búsqueda pero que el usuario no cometa el error de completar <inputs> inutilmente. ...
  #1 (permalink)  
Antiguo 29/10/2008, 11:59
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Control sobre formulario

Necesito establecer a través de un form, dos o más modalidades de búsqueda pero que el usuario no cometa el error de completar <inputs> inutilmente. Un ejemplo...
El 1er input ("Nombre") permitirá efectuar una búsqueda por texto, el 2do, solo por números. Lo que quiero evitar es que si el usuario decide efectuar la búsqueda por número no lo haga al mismo tiempo por "Nombre".

No sé si para esto necesito correr un JavaScript que valide el contenido de los campos y en consecuencia me devuelva un resultado o con PHP puedo lograr esto. La verdad, mi intención es hacerlo todo directamente con PHP.
Uds. dirán.

Gs
__________________
When all else is lost the future still remains.
  #2 (permalink)  
Antiguo 29/10/2008, 12:18
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Control sobre formulario

¿Y cómo te dice el usuario la forma en la que va a realizar la búsqueda?

Podrías hacerlo con un par de radio buttons y una sola caja de texto. Dependiendo del radio button buscará una cosa u otra.
  #3 (permalink)  
Antiguo 29/10/2008, 15:53
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Respuesta: Control sobre formulario

Hola Keysher. No es mala idea la tuya el tema es que todavía no tengo del todo definido si existe una vaga posibilidad que el usuario pueda buscar por nombre a partir (además) de un número. Pero en ppio. la idea es que o busque por una cosa o busque por la otra.
Slds
__________________
When all else is lost the future still remains.
  #4 (permalink)  
Antiguo 29/10/2008, 16:21
 
Fecha de Ingreso: junio-2008
Mensajes: 76
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Control sobre formulario

Keysher tiene razón... pero si pones una sola caja de texto para buscar por nombre o por numero, primero deberás validar que tipo de selección se eligió, en base a eso, hacer una validación de la caja para aceptar solo letras o solo numeros... ya con eso podrás hacer la busqueda que quieras en una base de datos, por dar un ejemplo.
  #5 (permalink)  
Antiguo 29/10/2008, 20:25
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Respuesta: Control sobre formulario

Ok, voy a ver qué hago. De momento, me parece bastante lógico lo que dicen.
Cualquier cosa, los molestaré más adelante.
Gs.
__________________
When all else is lost the future still remains.
  #6 (permalink)  
Antiguo 02/11/2008, 20:45
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Respuesta: Control sobre formulario

Veo que en JavaScript es más normal encontrar este tipo de controles que necesito pero en PHP alguien lo ha hecho como para ver un poquito de código?
Gs.
__________________
When all else is lost the future still remains.
  #7 (permalink)  
Antiguo 02/11/2008, 21:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Control sobre formulario

Hola cmarti,

Como te comentan puedes usar expresiones regulares para filtrar el contenido desde el mismo tipo de campo, así si son puros números puedes hacer la búsqueda que necesitas por número, y si son texto, y números lo haces por el segundo filtro.

Lee en el manual de PHP como usar preg_match para encontrar el texto que necesitas.

Saludos.
  #8 (permalink)  
Antiguo 03/11/2008, 10:30
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Respuesta: Control sobre formulario

Hola GatorV. Me parece que me he expresado mal o tal vez no te he entendido.

Yo necesito preguntar SI tal cosa está activa el SELECT responda a un patrón.

Si bien mi socio no me termina de definir el nivel de restricciones de las consultas, puede, en el caso de existir, que definitavente no permita que el formulario se cargue con información de más.

Supongamos que tengo 3 cuadros de opciones el primero se llama "nombre", el segundo "numero" y el tercero "fecha".

Dicho a lo bestia, mi idea era hacer algo así.... if (empty($nombre)) {
.....seguir preguntando por el resto}

else if (!empty($numero)) {
Select ....tal cosa....where $numero1>=xxx and $numero2<=XXXX.}

Perdon por la brutalidad del código pero para que se entienda.

Gs.
__________________
When all else is lost the future still remains.
  #9 (permalink)  
Antiguo 03/11/2008, 11:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Control sobre formulario

Mmm croe no te entiendo, si vas a tener 3 controles, entonces no necesitas las expresiones regulares, solamente controlando el flujo con el pseudocódigo que expones es más que suficiente.
  #10 (permalink)  
Antiguo 03/11/2008, 11:31
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Control sobre formulario

podes hacer un select con las opciones de busqueda , y con la funcion onSelect de javascript mostras un div oculto con el campo de busqueda seleccionado, despues con php comprobas que campo no tiene un valor default y tomas eso como refencia para hacer la consulta a la base de datos
  #11 (permalink)  
Antiguo 04/11/2008, 06:31
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Respuesta: Control sobre formulario

Gracias GatorV

Cita:
podes hacer un select con las opciones de busqueda , y con la funcion onSelect de javascript mostras un div oculto con el campo de busqueda seleccionado, despues con php comprobas que campo no tiene un valor default y tomas eso como refencia para hacer la consulta a la base de datos
Ok, es lo que deseo, solo que me gustaría localizar algo de código para ir leyendo.

Me imagino que no debe ser ningún quilombo pero nunca está de más ver un poco código.

Si sabés de algún ejemplillo por ahí dando vueltas, pegame el grito. Muchas Gracias.
__________________
When all else is lost the future still remains.
  #12 (permalink)  
Antiguo 04/11/2008, 07:05
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: Control sobre formulario

Código PHP:
<?php

    $form 
'
                <div class="form">
                    <form name="form1" method="post" action="enviar.php">
                        <div class="select">
                            <SELECT name="Busquedas">
                                <option value="texto" onSelect="view(\'#selText\')">Solo texto</option>
                                <option value="numeros" onSelect="view(\'#selNum\')">Solo numero</option>
                                <option value="tyn" onSelect="view(\'#selTN\')">Texto y numeros</option>
                            </SELECT>
                        </div>
                        
                        <div id="selText">
                            <input type="text" name="busqueda" value="">
                        </div>
                        
                        <div id="selNum">
                            <input type="text" name="busqueda" value="">
                        </div>
                        
                        <div id="selTN">
                            <input type="text" name="busqueda" value="">
                        </div>
                        
                    <input type="submit" name="enviar" >
                    </form>
                </div>'
;
echo 
$form;
?>
Código javascript:
Ver original
  1. // En javascript hacemos la funcion view
  2. // Yo uso Jquery para hacer cosas en javascript ya que es mas facil
  3.  
  4. // Primero tenemos que ocultar los campos cuando el archivo se cargue cosa de que no lo vea el usuario
  5.  
  6. $(document).ready(function(){  
  7.  
  8. // Div hide
  9.     $('#selText').hide();
  10.     $('#selNum').hide();
  11.     $('#selTN').hide();
  12.  
  13.     });
  14.    
  15.    
  16. function view(id_){
  17.         $('#selText').hide();
  18.         $('#selNum').hide();
  19.         $('#selTN').hide();
  20.         $(id_).show();
  21.         }
  #13 (permalink)  
Antiguo 04/11/2008, 09:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Control sobre formulario

Tema trasladado a Javascript.
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 12:39.