Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2007, 13:55
Avatar de chemita59
chemita59
 
Fecha de Ingreso: agosto-2005
Ubicación: Madrid
Mensajes: 107
Antigüedad: 19 años, 8 meses
Puntos: 0
Hablando de validaciones de SELECT

Hola:

He creado una pagina con tres select, la funcion para habilitar los dos ultimos dependiendo del valor que tome el primero funciona correctamente, lo que no funciona es la funcion comprueba(), me sale el mensaje de alerta pero no se queda en la pagina, sino que ejecuta la action del formulario y pasa a la pagina A1.asp.

Debe ser que llevo 3 horas aqui delante de la pantalla.

¿Que tengo que hacer para que no ejecute la action del formulario y no pase a la otra pagina?

Saludos a todos


-----------------------------------------------------
CODIGO:
-----------------------------------------------------
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript">
<!--

//Activacion de campos

function habilitaaymreal(){
if (document.form1.ESTADO.selectedIndex==4){
document.form1.MESREAL.disabled = false;
document.form1.ANIOREAL.disabled = false;
}
else {
document.form1.MESREAL.disabled = true;
document.form1.MESREAL.value = "---";
document.form1.ANIOREAL.disabled = true;
document.form1.ANIOREAL.value = "--";
}
}

function comprueba(){
if (document.form1.ESTADO.selectedIndex==0){
alert('Debe indicar el ESTADO')
document.form1.ESTADO.focus()
return 0;
}
}

function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
//-->
</script>
</head>

<body>
<table width="683" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="48" height="21">&nbsp;</td>
<td width="552">&nbsp;</td>
<td width="83">&nbsp;</td>
</tr>
<tr>
<td height="163">&nbsp;</td>
<td valign="top"><form action="../A1.asp" method="post" name="form1" id="form1" onSubmit="return comprueba(this)">
<p> estado de la actuacion:
<select name="ESTADO" id="ESTADO" onChange="habilitaaymreal()">
<option value="--">Elegir.....</option>
<option value="01">PENDIENTE</option>
<option value="02">CONSURSADO</option>
<option value="03">EN REALIZACION</option>
<option value="04">TERMINADO</option>
<option value="05">ANULADO</option>
</select>
</p>
<p> mes real
<select name="MESREAL" id="MESREAL" disabled>
<option value="---">Elegir .....</option>
<option value="01">ENERO</option>
<option value="02">FEBRERO</option>
<option value="03">MARZO</option>
<option value="04">ABRIL</option>
</select>
</p>
<p> a&ntilde;o real
<select name="ANIOREAL" id="ANIOREAL" disabled>
<option value="--">Elegir .....</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2005">2004</option>
<option value="2006">2006</option>
</select>
</p>
<p>
<input name="textfield" type="text">
</p>
<p>
<input name="ENVIAR" type="submit" id="ENVIAR" value="Enviar" />
</p>
</form></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="42">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</body>
</html>