Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/05/2007, 12:20
tuleyton
 
Fecha de Ingreso: mayo-2007
Mensajes: 4
Antigüedad: 17 años, 7 meses
Puntos: 0
Ayuda urgente!!!

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.

Código HTML:
<!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">&nbsp;</td><!-- Col 2 -->
     <td width="200"></td><!-- Col 3 -->

   </tr>

   <tr><!-- Row 4 -->
     <td width="200"></td><!-- Col 1 -->
     <td width="200">&nbsp;</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>