Foros del Web » Programando para Internet » PHP »

Valor por de fecto en un elemento del tipo list/menú.

Estas en el tema de Valor por de fecto en un elemento del tipo list/menú. en el foro de PHP en Foros del Web. Hola a todos, lo primero pedir perdón por si este mensaje no es de este foro, no sabía si ponerlo en el de php o ...
  #1 (permalink)  
Antiguo 30/05/2004, 05:44
 
Fecha de Ingreso: noviembre-2003
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Valor por de fecto en un elemento del tipo list/menú.

Hola a todos, lo primero pedir perdón por si este mensaje no es de este foro, no sabía si ponerlo en el de php o aquí. Si slguno de los moderadores considera q el post no pertenece a este tema, si no a php le ruego q lo mueva y disculpe mi torpeza.
Bien, mi problema es el siguiente, soy un principiante en esto de html y php y resulta q dentro de un formulario tengo un elemento list/menu q contiene una lista de 3 valores de los cuales, el usuario tiene seleccionar 1. El valor "inicial" q muestra es el q aparece primero en la lista, os muestro parte del código para explicarme mejor, dentro del código del formulario tengo:

<td colspan="2"> <select name="nuevo_rol">
<option value="1">rol_1</option>
<option value="2">rol_2</option>
<option value="3">rol_3</option>
</td>

por lo q cuando muestra el valor por defecto siempre muestra rol_1, sin embargo quiero q el valor inicial dependa de una variable de sesión, ¿como puedo hacerlo?.

Muchas gracias.
Hasta luego.

Última edición por kikujiro; 30/05/2004 a las 06:34
  #2 (permalink)  
Antiguo 30/05/2004, 06:27
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Pues necesitas mezclar php y javascript. Prueba con algo como....


suponiendo que la variable php tenga por valor rol_1, rol_2 o rol_3 .....

Código HTML:
<form>
<select name="nuevo_rol">
<option value="2">rol_1</option>
<option value="2">rol_2</option>
<option value="2">rol_3</option>
</select>
</form>
<script language="JavaScript" type="text/javascript">
var opcion = '<? $tuVariablePHP ?>'
for(m=0;m<document.forms[0].nuevo_rol.options.length;m++){
	if(document.forms[0].nuevo_rol.options[m].text == opcion){
		document.forms[0].nuevo_rol.options[m].selected = true
		break
		}
}

</script> 
Eso suponiendo que ese select esté incluído en un form y que éste sea el único formulario que hay en la página, o al menos el primero
  #3 (permalink)  
Antiguo 30/05/2004, 06:35
 
Fecha de Ingreso: noviembre-2003
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Sólo on PHP, ¿es posible?

Hola, gracias por responder tan pronto, ¿se podría hacer sólo con PHP?.
  #4 (permalink)  
Antiguo 30/05/2004, 06:42
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
los valores del select son dinámicos (sacados de base de datos) o son estáticos (puestos por ti a mano y siempre los mismos) ??
  #5 (permalink)  
Antiguo 30/05/2004, 06:55
 
Fecha de Ingreso: noviembre-2003
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
No son dinámicos, los pongo a pelo.
  #6 (permalink)  
Antiguo 30/05/2004, 07:02
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Pues supongo que podrías hacer algo tipo ...


<option value="2" <? if $variable = "rol_1" echo "selected = \"selected\"" ?>>rol_1</option>

Pero es algo engorroso, porque habría que poner lo mismo en cada option

eso en la teoría porque no tengo ni idea de la sintaxis que hay que usar en php, pero supongo que debe de ser algo así la idea.

Traslado el tema al foro de php, que allí sí saben cómo hacer estas cosas

movido desde html

saludos
  #7 (permalink)  
Antiguo 30/05/2004, 09:19
 
Fecha de Ingreso: noviembre-2003
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Resuelto.

Ya está resuelto el problema, gracias tunait.
Hasta luego.
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 10:53.