Lo siento angsanchez, pero no estoy de acuerdo del todo: mira este código que sí que funciona: (y no declara form ni nada)
El error estaba en la estructura:
if(cosa=='valor'){
{consecuencias si es que sí;
}
else //esto se puede omitir para que no haga nada si es que no
{consecuencias si es que no;} //esto se puede omitir para que no haga nada si es que no
}
Si no pones los corchetes que marco en rojo, ejecutará el alert en todos los casos, ya que lo considera como otra orden que ejecuta tras comprobar la condición if, no "en caso de...". De hecho, en tu primer código no sale ningún alert, y en el segundo, sale aunque selecciones la opción 1, la opción 2 ó la opción 3.
Código:
<html>
<head>
<script language="JavaScript" type="text/javascript" >
function plataforma(){
if(platforma.value=='otro'){
alert("hola");}
}
</script>
<head>
<body>
<select name="platforma" onchange="javascript:plataforma()">
<option value="ps2-pc-rdvd">option1</option>
<option value="video">option2</option>
<option value="otro">option3</option>
</select>
</body>
</html>
CURIOSÍSIMO: si el select se llama "plataforma" no funciona (por eso le he puesto "platforma")
¿¿¿¿¿¿Alguien sabe por qué??????