hola, a todos tengo un problema con un evento, onClick del <input>, especificamente, este evento llama a una funcion que devuelve true o false, pero aunque devuelva false, igual sigue procesando el submit, eso no me pasa con ningun mozilla, solo con el IE6, ahora cambie la invocacion de la funcion a el evento onSubmit del tag <form> y ese si funciona, pero me gustaria que se llame a esa funcion, cuando se presione un boton especifico y no asi cada vez que se realize un submit en el formulario, aqui les dejo algo de codigo:
Código HTML:
//esta funcion recibe arreglos de regex para validar, ids de los campos y mensajes de respuesta
<script type="text/javascript">
function validaTexto(regexArr,idCampoArr,idMsgArr,msgErrArr)
{
var resultOk=new Array(regexArr.length);
var regexp;
for (i=0; i<idCampoArr.length; i++)
{
regexp= new RegExp(regexArr[i]);
if (!regexp.test(document.getElementById(idCampoArr[i]).value))
{
document.getElementById(idCampoArr[i]).style.background="#e3ea96";
document.getElementById(idMsgArr[i]).style.color="#b74900";
document.getElementById(idMsgArr[i]).style.fontSize='11px';
document.getElementById(idMsgArr[i]).style.display='block';
document.getElementById(idMsgArr[i]).style.border='0px';
document.getElementById(idMsgArr[i]).innerHTML=msgErrArr[i];
resultOk[i]=false;
}
else
{
document.getElementById(idCampoArr[i]).style.background="#b2c9a4";
document.getElementById(idMsgArr[i]).innerHTML="";
document.getElementById(idMsgArr[i]).style.display='none';
}
}
var res=true;
for (i=0; i<idCampoArr.length; i++)
{
if(resultOk[i]==false)
{
res= false;
break;
}
}
return res;
}
</script>
Código PHP:
//aqui es donde creo la llamada a la funcion Javascript
$condicionJS= "\"return validaTexto([".RGEX_1.",".RGEX_2."],['".$arrId[0]."','".$arrId[1]."'],['".$arrIdMsg[0]."','".$arrIdMsg[1]."'],['".$arrMsg[0]."','".$arrMsg[1]."'])\"";
<form action="<?=$_SERVER['PHP_SELF']?>" method="post" onSubmit=<?=$condicionJS?> >
<tr>
<td colspan="2">
<input type="submit" name="ingresar" value="Ingresar" onClick=<?=$condicionJS?> >
</td>
</tr>
</form>
saludos, cya