Foros del Web » Programando para Internet » Javascript »

Formulario con listado

Estas en el tema de Formulario con listado en el foro de Javascript en Foros del Web. Hola tengo un formulario con un listado de hoteles, en el que el cliente debe elegir por orden de preferencia del 1 al 4, el ...
  #1 (permalink)  
Antiguo 18/07/2003, 04:31
Avatar de palidowsky  
Fecha de Ingreso: febrero-2002
Ubicación: Galicia-España
Mensajes: 438
Antigüedad: 22 años, 2 meses
Puntos: 0
Formulario con listado

Hola

tengo un formulario con un listado de hoteles, en el que el cliente debe elegir por orden de preferencia del 1 al 4, el problema es que al recibir este formulario me aparecen todos los hoteles, hay alguna manera de que sólo me aparexcan los cuatro que el cliente ha elegido

gracias
  #2 (permalink)  
Antiguo 18/07/2003, 06:29
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 3 meses
Puntos: 4
El listado es un select?????
Si es un select no tendrían porque enviarse todos. En ese caso, asegúrate de que cada option tenga un valor (value) diferente. De todas formas eso no sería un impedimiento.
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
  #3 (permalink)  
Antiguo 18/07/2003, 08:30
Avatar de palidowsky  
Fecha de Ingreso: febrero-2002
Ubicación: Galicia-España
Mensajes: 438
Antigüedad: 22 años, 2 meses
Puntos: 0
El listado es un conjunto de hoteles, a ver si me explico:

Cada hotel, tiene un <type="text">, son diez o doce hoteles. El cliente debe seleccionar sólo tres de ellos. El problema es que cuando me llega, me aparecen los 12 hoteles en el correo, cuando a mi me gustaría que sólo apareciesen los tres que el cliente ha seleccionado.

gracias
  #4 (permalink)  
Antiguo 18/07/2003, 20:15
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 3 meses
Puntos: 4
AAAAAA Entonces ese es el problema. Si tienes campos de texto "text" y todos están llenos ¿Como hace el usuario para elegirlos? No me imagino la forma en la cual harás que el usuario los seleccione. Pero lo que podrías hacer es lo siguiente:

Opción 1:
Realizas un select con los 12 hoteles:
Código:
<select name="hoteles" multiple size=4>
<option value="hotel1">Hotel N°1</option>
<option value="hotel2">Hotel N°2</option>
<option value="hotel3">Hotel N°3</option>
<option value="hotel4">Hotel N°4</option>
<option value="hotel5">Hotel N°5</option>
<option value="hotel6">Hotel N°6</option>
</select> (lo continúas hasta 12)
De esa forma, solo te llegarán los hoteles seleccionados.

Opción 2: Puedes hacerlo también con checkbox e incluso con un script limitar la cantidad de checkbox a seleccionar. En tu caso 3.
Yo armé esta rutina y la utilizo en uno de mis sitios y funciona bien. Puedes probarla a ver si te soluciona mejor el problema. Tambien puedes aplicarla al select:
Código:
<HTML>

<HEAD>

<script language="javascript">
function limitarSelección(casilla,form) 
{
a = casilla.form.casilla1[0].checked;
b = casilla.form.casilla1[1].checked;
c = casilla.form.casilla1[2].checked;
d = casilla.form.casilla1[3].checked;
e = casilla.form.casilla1[4].checked;

contador = (a ? 1 : 0) + (b ? 1 : 0) + (c ? 1 : 0) + (d ? 1 : 0) + (e ? 1 : 0);

    if (contador > 3) 
    {
    alert("Solo puedes seleccionar 3 opciones");
    casilla.checked = false;
    }
}
</script>

</HEAD>
<BODY>

<form name="ejemplo11" method="GET" action="pagina.htm" target="_blank">
Por favor, seleccione 3 opciones como máximo:<br>
<input type="checkbox" name="casilla1" value="Opcion 1" onClick="limitarSelección(this,this.form)">Opción 1<br>
<input type="checkbox" name="casilla1" value="Opcion 2" onClick="limitarSelección(this,this.form)">Opción 2<br>
<input type="checkbox" name="casilla1" value="Opcion 3" onClick="limitarSelección(this,this.form)">Opción 3<br>
<input type="checkbox" name="casilla1" value="Opcion 4" onClick="limitarSelección(this,this.form)">Opción 4<br>
<input type="checkbox" name="casilla1" value="Opcion 5" onClick="limitarSelección(this,this.form)">Opción 5<br>
<input type="submit" value="Enviar">
</form>

</BODY>

</HTML>
Espero que te sirva!
Saludos!
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
  #5 (permalink)  
Antiguo 21/07/2003, 01:48
Avatar de palidowsky  
Fecha de Ingreso: febrero-2002
Ubicación: Galicia-España
Mensajes: 438
Antigüedad: 22 años, 2 meses
Puntos: 0
Antes de nada gracias Turka por responderne.
Verás si utilizo los select, al recibir el correo me aparece:

Hotel a= 1 (este es la primera opción)
Hotel b= 2 (este es la segunda opción)
Hotel c= 3 (este es la tercera opción)
Hotel d=0 (este no está selecionado)
Hotel e=0 (este no está selecionado)

Lo que yo querría (no tengo ni idea si se puede hacer o es una tontería) es que sólo me apareciesen los tres que se han seleccionado al llegarme el formulario. Es decir, que los hoteles seleccionados con el valor 0 no se enviasen al PHP que recopila y envía los datos al correo electrónico del cliente.

Cada hotel tiene un select para que elija del 0 al 3, y el mensaje lo envío a través de PHP
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 03:54.