Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/08/2005, 08:18
Avatar de jeanclon
jeanclon
 
Fecha de Ingreso: mayo-2005
Mensajes: 258
Antigüedad: 19 años, 9 meses
Puntos: 2
Muchisimas gracias mario2005, lo de poner los value no es por flojera, lo necesito asi ya que el codigo que puse fue solo un ejemplo, en donde verdaderamente lo necesito utilizo variables de sesion por que es un formulario de varias paginas y necesito recordar lo que el usuario habia seleccionado si regresa a dicho formulario, ademas el mismo formulario sirve para modificacion posterior, los datos los traigo de la base de datos y tiene que aparecer todo ya seleccionado como lo habian guardado antes, por esas dos razones uso variable de sesion dentro de uno de los valores del option. Uno de los tantos que tengo es asi:

Código HTML:
<select name="rec_residuos" size="1" id="rec_residuos">
                      <option value="<?php if (($_SESSION['rec_residuos'])==""){echo "";}else{ echo $_SESSION['rec_residuos'];}?>" selected><?php if (($_SESSION['rec_residuos'])==""){echo "Seleccione: " ;}else{ echo $_SESSION['rec_residuos'];}?></option>
      				  <option value=""></option>
                      <option>Aseo urbano</option>
                      <option>Relleno sanitario</option>
                      <option>Acumulada</option>
                      <option>Quemada</option>
                      <option>Contenedor</option>
                      <option>Otro</option>
                    </select> 
Y tengo un problema con eso, si le coloco los value a los otros option, el tamaño del campo de lista se coloca del largo de toda la expresion php que esta en el value del primer valor de la lista, cosa que no quiero, al no ponerle los value el tamaño que toma el campo lista es del largo de la palabra "Relleno sanitario" (en este caso), asi que preferi dejarlos sin value.

Con respecto al script si el if estaba malo y lo coloque como me dijiste, pero tambien habia otro error; la instruccion:

Código:
document.GetElementById("escribe").style.visibility="Visible"
arrojaba el siguiente error: El objeto no acepta esta propiedad o metodo.
por lo que tuve que cambiarla a:

Código:
document.formulario.escribe.style.visibility="visible"
Asi que finalmente todo quedo asi:

El formulario:
Código HTML:
<form name="formulario" id="formulario">

	<select name="lista" size="1" id="lista" onChange="verifica();">
<option >uno</option>
<option >dos</option>
<option >otro</option>
</select>
      <input type="text" name="escribe" id="escribe" style="visibility:hidden ">
</form> 
y el script:

Código HTML:
<script language="Javascript">
function verifica(){ 
if (document.formulario.lista.options[document.formulario.lista.selectedIndex].text=="otro"){
document.formulario.escribe.style.visibility="visible";
} 
else{ 
document.formulario.escribe.style.visibility="hidden";
}} 
 </script> 
De esta manera si me funciona perfecto.