Me parece que te estás complicando las cosas
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> //<![CDATA[
function validar(){
var elnombre = document.getElementById('nombre');
if(elnombre.value == ""){
alert('seleccione una opción');
return false;
}
}
//]]>
<form action="#" method="get" onsubmit="return validar()"> <select name="nombre" id="nombre">
Si bien no usé onchange, me gustar´´ia saber de donde has sacado eso de que onchange implica riesgos
SAludos