Foros del Web » Creando para Internet » HTML »

Formulario Select

Estas en el tema de Formulario Select en el foro de HTML en Foros del Web. Hola me gustaria que me colaboraran pues estoy realizando un formulario en donde el usuario tenga que escoger las fechas pero me gustaria saber como ...
  #1 (permalink)  
Antiguo 16/04/2009, 18:56
Avatar de konoyek  
Fecha de Ingreso: julio-2007
Mensajes: 268
Antigüedad: 10 años, 5 meses
Puntos: 0
Formulario Select

Hola me gustaria que me colaboraran pues estoy realizando un formulario en donde el usuario tenga que escoger las fechas pero me gustaria saber como puedo manejar filtros rapidos para que este me identifique la cantidad de dias que tenga cada mes ejemplo:

Código HTML:
<form method="POST" action="accion.php">

Fechas In:

<br />

<select name="Mes_in" size="1">

<option value="Enero">Enero</option>

<option value="Febrero">Febrero</option>

<option value="Marzo">Marzo</option>

<option value="Abril">Abril</option>

<option value="Mayo">Mayo</option>

<option value="Junio">Junio</option>

<option value="Julio">Julio</option>

<option value="Agosto">Agosto</option>

<option value="Septiembre">Septiembre</option>

<option value="Octubre">Octubre</option>

<option value="Noviembre">Noviembre</option>

<option value="Diciembre">Diciembre</option>

 

</select>

 

<select name="Dia_in">

<option value="1">1</option>

<option value="2">2</option>

</select>

 

<select name="Ano_in">

<option value="2008">2008</option>

<option value="2009">2009</option>

</select>
</form> 
Una vez seleecionado el mes me identifique la cantidad de noches que este tenga

Febrero = 28 dias
Marzo = 31 Dias
Abril = 30 Dias
  #2 (permalink)  
Antiguo 16/04/2009, 21:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.711
Antigüedad: 12 años, 7 meses
Puntos: 833
Respuesta: Formulario Select

Eso debes hacerlo con Javascript, por ejemplo, podrías tener almacenado en un array los días que corresponden a cada mes y en el evento onchange del select donde están los meses añadir esos elementos al otro select.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 16/04/2009, 21:51
Avatar de konoyek  
Fecha de Ingreso: julio-2007
Mensajes: 268
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Formulario Select

Gracias por tu respuesta pero en realidad no sabria muy bien como manejarlo con javascript me gustaria que me indicaras un ejemplo y asi poder empezar a realizarlo
  #4 (permalink)  
Antiguo 17/04/2009, 16:59
axz
 
Fecha de Ingreso: mayo-2005
Mensajes: 360
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: Formulario Select

konoyek, deja ver si entendí ... Según yo, quieres que el usuario seleccione año y mes ... y con eso en otro control <select> cambie el número de días que contiene el mes?

Si es así, ahí te va un resumensote, con la misma base que te sugirió David el Grande:

Código HTML:
<javascript type="text/javascript">
function cambiaDias()
{
//aquí va toda tu lógica para calcular los días, que no es complicada 
}
</javascript>

<select name="Mes_in" onchange="cambiaDias();"> ... </select>
<select name="Dia_in"> ...  </select>
<select name="Ano_in" onchange="cambiaDias();"> .... </select> 
Tienes chamba x hacer que es leer un poco de javascript y un poco de DOM. Igual te recomiendo que agregues atributos id a tus controles para accederlos más fácil.

Sería cómodo escribirte el código javascript, pero es mejor aprenderle, no crees?
Sea como sea, si tienes problemas o te urge, podemos ver qué hacer :-p

Saludos
  #5 (permalink)  
Antiguo 30/07/2009, 10:01
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Formulario Select

Hola tengo la misma duda acerca de como hacer un formulario que valide la fecha,
ya he leido acerca de javascrip pero aun no se como usar bien el onchange
tengo la siguiente función que calcula el numero de dias pero recibe dos parametros el año y el mes, como hago para enviar en estos parametros, mes y el año seleccionados en los respectivos <select> adjunto todo el codigo correspondiente

Esta es la funcion:

<?
function ultimoDia($año,$mes){
if (((fmod($año,4)==0) and (fmod($año,100)!=0)) or (fmod($año,400)==0)) {
$dias_febrero = 29;
} else {
$dias_febrero = 28;
}
switch($mes) {
case 01: return 31; break;
case 02: return $dias_febrero; break;
case 03: return 31; break;
case 04: return 30; break;
case 05: return 31; break;
case 06: return 30; break;
case 07: return 31; break;
case 08: return 31; break;
case 09: return 30; break;
case 10: return 31; break;
case 11: return 30; break;
case 12: return 31; break;
}
}
?>

Estos son los <select>

Año<select name="año">
<option selected value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
</select>
Mes<select name="mes">
<option selected value="01">Enero</option>
<option value="02">Febrero</option>
<option value="03">Marzo</option>
<option value="04">Abril</option>
<option value="05">Mayo</option>
<option value="06">Junio</option>
<option value="07">Julio</option>
<option value="08">Agosto</option>
<option value="09">Septiembre</option>
<option value="10">Octubre</option>
<option value="11">Noviembre</option>
<option value="12">Diciembre</option>
</select>
<?
$a = ultimoDia(año,mes);
?>
Dia<select name="dia">
<?
for ($i=1;$i<=$a;$i++)
{
if($i==1)
echo "<option selected value="."$i".">$i</option>";
else
echo "<option value="."$i".">$i</option>";
}
?>
</select>


Gracias
  #6 (permalink)  
Antiguo 03/08/2009, 09:03
axz
 
Fecha de Ingreso: mayo-2005
Mensajes: 360
Antigüedad: 12 años, 6 meses
Puntos: 10
Respuesta: Formulario Select

Hola rjmesa bueno en éste caso no estas usando precisamente javascript ya que tu función está hecha más bien en PHP ... entonces antes de continuar ... tu dime qué usarás o qué prefieres usar PHP o javascript?

Si aceptas una opinión en éste caso considero que es más eficiente usar js, puesto que no le veo el sentido molestar al servidor por cada cambio de mes o año ... y mejor se lo dejamos a la chamba del navegador (cliente) ...

Pero la decisión es tuya ... pregunto esto porque sería diferente la lógica, similar, pero a fin de cuentas diferente ... entonces tu dime a qué nos enfocamos? ... usando PHP (procesamiento del lado del server) o usando javascript (procesamiento del lado del cliente)?

saludos!
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:10.