Foros del Web » Programando para Internet » Javascript »

Formulario con desplegables cambiantes

Estas en el tema de Formulario con desplegables cambiantes en el foro de Javascript en Foros del Web. Hola, estoy haciendo una aplicación y me he quedado enganchado en una cosita que estoy seguro que con javascript se puede solucionar. Este es mi ...
  #1 (permalink)  
Antiguo 04/07/2006, 05:04
Avatar de Hurgui  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 360
Antigüedad: 21 años, 2 meses
Puntos: 0
Pregunta Formulario con desplegables cambiantes

Hola,

estoy haciendo una aplicación y me he quedado enganchado en una cosita que estoy seguro que con javascript se puede solucionar.

Este es mi código.

Código HTML:
<form name="formulario" method="post" action="">
  <select name="s1">
    <option value="0">NO ASIGNADO</option>
    <option value="a">Persona A</option>
    <option value="b">Persona B</option>
    <option value="c">Persona C</option>
  </select>
  
  <select name="s2">
    <option value="0">NO ASIGNADO</option>
    <option value="a">Persona A</option>
    <option value="b">Persona B</option>
    <option value="c">Persona C</option>
  </select>
  
  <select name="s3">
    <option value="0">NO ASIGNADO</option>
    <option value="a">Persona A</option>
    <option value="b">Persona B</option>
    <option value="c">Persona C</option>
  </select>       
</form> 
Tengo tres listas que representan tres posibles ciclomotores, una persona sólo puede estar en un ciclomotor a la vez y en un ciclomotor sólo puede haber una persona a la vez.

La cuestión (y es donde necesito el script) es que necesito que al seleccionar una persona en un ciclomotor el script recorra los otros ciclomotres y en el caso de que ya estuviera asignado a alguna lo pase a "NO ASIGNADO".

Espero haberme explicado bien.

MUCHAS GRACIAS
  #2 (permalink)  
Antiguo 04/07/2006, 18:58
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Hasta donde te entendi... se me ocurre esto...

Código HTML:
<form name="formulario" method="post" action="">
  <select name="s1" onChange="document.formulario.s2.value=0; document.formulario.s3.value=0;" >
    <option value="0">NO ASIGNADO</option>
    <option value="a">Persona A</option>
    <option value="b">Persona B</option>
    <option value="c">Persona C</option>
  </select>
  
  <select name="s2" onChange="document.formulario.s1.value=0; document.formulario.s3.value=0;">
    <option value="0">NO ASIGNADO</option>
    <option value="a">Persona A</option>
    <option value="b">Persona B</option>
    <option value="c">Persona C</option>
  </select>
  
  <select name="s3" onChange="document.formulario.s1.value=0; document.formulario.s2.value=0;">
    <option value="0">NO ASIGNADO</option>
    <option value="a">Persona A</option>
    <option value="b">Persona B</option>
    <option value="c">Persona C</option>
  </select>       
</form> 
  #3 (permalink)  
Antiguo 05/07/2006, 03:22
Avatar de Hurgui  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 360
Antigüedad: 21 años, 2 meses
Puntos: 0
Gracias por tu respuesta richardinj porque empieza a solucionar parte del problema, no todo poeque creo que no me he explicado del todo bien.

Verás, el "document.formulario.s1.value=0" sólo debe producirse en el caso de que la "persona" seleccionada en s2 o s3 estuviera ya en ese momento seleccionada en s1.

Digamos que la misma persona no puede estar en dos "s" a la vez. De ahí que haya que ir cambiándolo dinámicamente.

SALUDOS
  #4 (permalink)  
Antiguo 05/07/2006, 10:41
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
mmm... se me ocurrió esto...

Código HTML:
<form name="formulario" method="post" action="">
<select name="s1" onChange="cambiaS1(this.value)" >
<option value="0">NO ASIGNADO</option>
<option value="a">Persona A</option>
<option value="b">Persona B</option>
<option value="c">Persona C</option>
</select>
 
<select name="s2" onChange="cambiaS2(this.value)" >
<option value="0">NO ASIGNADO</option>
<option value="a">Persona A</option>
<option value="b">Persona B</option>
<option value="c">Persona C</option>
</select>
 
<select name="s3" onChange="cambiaS3(this.value)" >
<option value="0">NO ASIGNADO</option>
<option value="a">Persona A</option>
<option value="b">Persona B</option>
<option value="c">Persona C</option>
</select> 
</form> 

Código PHP:
<script language="JavaScript" type="text/javascript">
function 
cambiaS1(valor)
{
if (
document.formulario.s2.value==valor)
{
document.formulario.s2.value=0;}
 
if (
document.formulario.s3.value==valor)
{
document.formulario.s3.value=0;} 
}
 
function 
cambiaS2(valor)
{
if (
document.formulario.s1.value==valor)
{
document.formulario.s1.value=0;}
 
if (
document.formulario.s3.value==valor)
{
document.formulario.s3.value=0;} 
}
 
function 
cambiaS3(valor)
{
if (
document.formulario.s1.value==valor)
{
document.formulario.s1.value=0;}
 
if (
document.formulario.s2.value==valor)
{
document.formulario.s2.value=0;} 
}
</script> 
  #5 (permalink)  
Antiguo 06/07/2006, 02:37
Avatar de Hurgui  
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 360
Antigüedad: 21 años, 2 meses
Puntos: 0
Ooooooohhhhhhh!!!!!!!

Justo lo que buscaba, perfecto

MUCHÍSIMAS GRACIAS richardinj
  #6 (permalink)  
Antiguo 06/07/2006, 15:14
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 3 meses
Puntos: 11
Cool...........
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 20:50.