JavaScript - ayuda uregente!!!

 
Vista:

ayuda uregente!!!

Publicado por ernesto leyton (1 intervención) el 24/05/2007 20:27:36
amigos me dirigo a ustedes por que ya no me da mas las neuronas de como solucionar esto.

tengo un formulario en el cual valido todos los campos pero tengo unos radio buttons que pregunta si tiene correo o no. si dices que si aparece una caja de texto en donde valida el mail ok. si dices que no no muestra la caja de texto.
el problema es que elija o no elija la opcion . me valida que el correo no esta escrito.
como puedo hacer para que al momento de que le diga si al radio button me lo valide y si digo que no valide el siguiente campo y no el correo.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<title>Formulario2</title>
<LINK REL="stylesheet" TYPE="text/css" HREF="hojaestilo.css">

<script language="javascript" type="text/javascript">

//VALIDACION DE FORMULARIOS
function validacion(formulario) {

var er_nombre = /^([a-z]|[A-Z]|á|é|í|ó|ú|ñ|ü|\s|\.|-)+$/
var er_telefono = /^([0-9\s\+\-])+$/
//fechas, formato dd/mm/aaaa o d/m/aa
var er_mes31dias = /^([1-3]0|[0-2][1-9]|31|[0-9])\/(1|01|3|03|5|05|7|07|8|08|10|12)\/(1999|20[0-1][0-9]|2020)$/
var er_mes30dias = /^([1-3]0|[0-2][1-9]|[0-9])\/(4|04|6|06|9|09|11)\/(1999|20[0-1][0-9]|2020)$/
var er_mes28dias = /^([1-2]0|[0-2][1-8]|[0-1]9|[0-9])\/(02|2)\/(1999|200[1-3]|200[5-7]|2009|201[0-1]|201[3-5]|201[7-9])$/
var er_mes29dias = /^([1-2]0|[0-2][1-9]|[0-9])\/(02|2)\/(2000|2004|2007)$/
//direccion de correo electronico
var er_email = /^(.+\@.+\..+)$/
var x

//comprueba 50 caracteres maximo
for(x = 1; x < 5; x++) {
if (formulario.elements[x].value.length > 50) {
alert('La lontitud máxima permitida para cualquier telefono es de 10 digitos.')
return false
}
}

//comprueba campo de nombre
if(!er_nombre.test(formulario.nombre.value)) {
alert('Favor de escribir un NOMBRE valido.')
return false
}

//comprueba campo de apellidopat
if(!er_nombre.test(formulario.apellidopat.value)) {
alert('Favor de escribir un Apellido Paterno valido.')
return false
}

//comprueba campo de apellidomat
if(!er_nombre.test(formulario.apellidomat.value)) {
alert('Favor de escribir un Apellido Materno valido.')
return false
}

//comprueba campos de telefonos (permite campos vacios y guiones)
if( !er_telefono.test(formulario.telefono.value) ) {
alert('Favor escribir un numero de TELEFONO valido')
return false
}

//comprueba campos de Rut (permite campos vacios y guiones)
if( !er_telefono.test(formulario.rut.value) ) {
alert('Favor escribir un numero de rut valido')
return false
}

//comprueba campo de Domicilio
if(!er_nombre.test(formulario.domi.value)) {
alert('Favor de escribir un Domicilio.')
return false
}

//comprueba campo de email
if(!er_email.test(formulario.email.value)) {
alert('Contenido del campo E-MAIL no válido.')
return false
}

//comprueba la fecha segun calendario (hasta el 2020, ojo)
if (!(er_mes31dias.test(formulario.fecha.value) ||
er_mes30dias.test(formulario.fecha.value) ||
er_mes29dias.test(formulario.fecha.value) ||
er_mes28dias.test(formulario.fecha.value))) {
alert('Contenido del campo FECHA no válido.')
return false
}





alert('Los campos introducidos son CORRECTOS.')
return false //cambiar por return true para ejecutar la accion del formulario
}

</script>

<script language="javascript">
function validar(formulario)
{
rut=formulario.rut.value;
var count=0;
var count2=0;
var factor=2;
var suma=0;
var sum=0;
var digito=0;
count2=rut.length - 1;

while(count < rut.length)
{

sum = factor * (parseInt(rut.substr(count2,1)));
suma = suma + sum;
sum=0;

count = count + 1;
count2 = count2 - 1;
factor = factor + 1;

if(factor > 7)
{
factor=2;
}

}

digito= 11 - (suma % 11)

if(digito==11)
{
digito=0;
}

if(digito==10)
{
digito="k";
}

form.dig.value=digito;
//alert("Digito Verificador -->> "+digito);

}


</script>

<script language="JavaScript"><!--
function show(object) {
if (document.layers && document.layers[object])
document.layers[object].visibility = 'visible';
else if (document.all) {
document.all[object].style.visibility = 'visible';
document.all[object].style.zIndex = 100;
}
}
function hide(object) {
if (document.layers && document.layers[object])
document.layers[object].visibility = 'hidden';
else if (document.all)
document.all[object].style.visibility = 'hidden';
}
//--></script>

</head>
<body onload="FormValidacion.rut.focus(), FormValidacion.rut.value='', FormValidacion.dig.value=''" >

<form onsubmit="return validacion(this)" name="form">







<table border="0" width="100%">
<tr><!-- Row 1 -->
<td width="200"><small>Nombre:</small><br><input type="text" name="nombre" size="14"></td><!-- Col 1 -->
<td width="200"><small>Apellido Pat:</small><br><input type="text" name="apellidopat" size="14"></td><!-- Col 2 -->
<td width="200"><small>Apellido Mat:</small><br><input type="text" name="apellidomat" size="14"></td><!-- Col 3 -->
</tr>

<tr><!-- Row 2 -->
<td width="200"><small>Teléfono:</small><br><input type="text" name="telefono" size="14"></td><!-- Col 1 -->
<td width="200"><small>Rut:</small><br><input type="text" name="rut" size="9" maxlength="8" onkeyup ="validar(this.form)"> - <input type="text" name="dig" size="1" maxlength="0"></td><!-- Col 2 -->
<td width="200"><small>Domicilio</small><br><input type="text" name="domi" size="14"></td><!-- Col 3 -->

</tr>

<tr><!-- Row 3 -->
<td width="200">si
<INPUT type="radio" name="valEmail" onClick="show('myId')" value="visible">
no

<input type="radio" name="valEmail" onClick="hide('myId')" value="hidden"><br>
<div id="myId" style="position: absolute; visibility: hidden;"><small>E-mail:</small><br>
<input type="text" name="email" size="14"></div></td><!-- Col 1 -->

<td width="200"><small>Fecha De Ingreso (dd/mm/aaaa):</small><br><input type="text" name="fecha" size="14"></td><!-- Col 2 -->
<td width="200"></td><!-- Col 3 -->


</tr>

<tr><!-- Row 4 -->
<td width="200"></td><!-- Col 1 -->
<td width="200"> </td><!-- Col 2 -->
<td width="200"></td><!-- Col 3 -->

</tr>

<tr><!-- Row 4 -->
<td width="200"></td><!-- Col 1 -->
<td width="200"> </td><!-- Col 2 -->
<td width="200"></td><!-- Col 3 -->

</tr>

<tr><!-- Row 4 -->
<td width="200"></td><!-- Col 1 -->
<td width="200"><input type="submit" value="Validar" name="boton_envio" onMouseOver="ejemploRadio()"> </td><!-- Col 2 -->
<td width="200"></td><!-- Col 3 -->

</tr>


</form>


</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder