[HTML] Propiedad Select

-

Alguien que me ayude a solucionar esta duda básica de la propiedad Select. Intento mostrar en varios textbox el valor de algunos atributos de esa propiedad, pero no consigo hacerlo funcionar.

<html>
	<head>
		<title>Plantilla</title>
		<script language="JavaScript">

	function Cambiar()
	{
		a=form1.lista.selectedIndex
		a=parseInt(a)
		b=form1.lista.options[form1.lista.selectedIndex].text
		b=parseInt(b)
		c=form1.lista.options[form1.lista.selectedIndex].value
		c=parseInt(c)
		form1.indice.value=a
		form1.seleccion.value=b
		form1.valor.value=c
	}
	</script>
</head>
<body>

<form name=form1>

<select name=lista onChange=Cambiar()>
	<option value=red>Rojo
	<option value=green>Verde
	<option value=blue>Azul
</select>
<br>
Número de índice seleccionado: <input type=text name=indice><br>
Texto seleccionado: <input type=text name=seleccion><br>
Valor asociado: <input type=text name=valor>
</form>

</body>
</html>
r2d2rigo
<select name="lista" onChange="Cambiar()">

Pon SIEMPRE los valores de los atributos entre comillas.

-

Nada, con comillas sigue fallando :(

Fr4nk0

Acostumbrate a poner los ; detras de las sentencias javascript, no vaya a hacerse un lio. Al igual que en el onchange. Ponlo como onchange="cambiar();"

Otra cosa mas, usa el document.getElementById("id del campo") para coger un elemento del DOM, mejor que eso de form1.idinput.

Prueba eso, sino es que la función de cambiar esta mal (no la he mirado).

r2d2rigo

No he mirado el codigo detenidamente hasta ahora, pero haz lo que te dice #4 o creo que tambien funcionaba document.form1.talcual en lugar de form1.talcual a secas.

De todos modos, te recomiendo usar Firefox y comprobar la consola de errores cuando tengas que trabajar con javascript.

NeB1

es document.form1...

PiTaGoRaS

Madre mía, hay errores garrafales por todas partes en el código HTML y Javascript... a ver si nos leemos algún tutorial y tal.

<html>
	<head>
		<title>Plantilla</title>
		<script language="JavaScript">

	function Cambiar()
	{
		var lista = document.getElementById('lista');
		var form1 = document.getElementById('form1');

		form1.indice.value = lista.selectedIndex;
		form1.seleccion.value = lista.options[lista.selectedIndex].text;
		form1.valor.value = lista.options[lista.selectedIndex].value;
	}
	</script>
</head>
<body>

<form name="form1" id="form1">

<select id="lista" name="lista" onchange="Cambiar()">
	<option value="red">Rojo</option>
	<option value="green">Verde</option>
	<option value="blue">Azul</option>
</select>
<br/>
Número de índice seleccionado: <input type="text" name="indice"/><br/>
Texto seleccionado: <input type="text" name="seleccion"/><br/>
Valor asociado: <input type="text" name="valor"/>
</form>

</body>
</html>

De nada.

SiCk

Consejo, si no usáis un framework de js, haceros esta simple función:

function $(nombre)
{
	if (document.getElementById(nombre)) {
		return document.getElementById(nombre);
	} else {
		return false;
	}
}

Así recogéis los objetos más cómodamente con $('loquesea'). Es una versión super cutre de lo que suelen usar estos frameworks xD

NeB1

#8 acabas de crear jquery :P

Usuarios habituales

  • NeB1
  • SiCk
  • PiTaGoRaS
  • r2d2rigo
  • Fr4nk0
  • -Willyam-