Hola, estoy validando un formulario con jsvalidate y resulta que el select
opc1 cuando se selecciona la opcion
Otras hace aparecer automaticamente un textbox
opc2, entonces cuando selecciono esta opcion quisiera que validara este textbox y bote un mensaje de error si no esta lleno, mientras que si esta oculto no lo valide.
Para esto estoy trabajando con setAttribute("class","jsrequired") o setAttribute("className","jsrequired") (segun el navegador), pero no logro que salga el error en pantalla cuando ese textbox se muestra.
He probado asi:
Código HTML:
<html>
<head>
<script type="text/javascript" language="javascript" src="jsvalidate/scriptaculous/lib/prototype.js"></script>
<script type="text/javascript" language="javascript" src="jsvalidate/scriptaculous/src/scriptaculous.js"></script>
<script type="text/javascript" language="javascript" src="jsvalidate/jsvalidate.js"></script>
<script language="javascript">
function ver(obj)
{
if(obj.options[obj.selectedIndex].text == "Otras")
{
document.formulario.opc2.style.visibility = "visible";
document.getElementById("newopc2").setAttribute("class", "jsrequired");
document.formulario.opc2.focus();
}
else
{
document.formulario.opc2.style.visibility = "hidden";
document.getElementById("newopc2").removeAttribute("class");
document.formulario.opc2.value = "";
document.formulario.opc2.blur();
}
}
</script>
</head>
<body>
<form name="formulario" method="POST">
<table border=1 width="500">
<tr>
<td>Unidad</td>
<td>
<select name="opc1" onChange="ver(this);" class="jsrequired select-notfirst">
<option value="" selected="selected">[Seleccione su Unidad]</option>
<option value="UNAL">UNAL</option>
<option value="UNIP">UNIP</option>
<option value="Otros">Otras</option>
</select>
</td>
<td><input id="newopc2" name="opc2" type="text" style="visibility:hidden" size="50"/></td>
</tr>
<tr>
<td colspan="3" align="center">
<input name="leer" type="submit" value="Leer"/>
<input name="borrar" type="reset" value="Borrar" />
</td>
</tr>
</table>
</form>
</body>
</html>