Foros del Web » Programando para Internet » Javascript »

Ayuda urgente!!!

Estas en el tema de Ayuda urgente!!! en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/05/2007, 12:20
 
Fecha de Ingreso: mayo-2007
Mensajes: 4
Antigüedad: 17 años
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>

  #2 (permalink)  
Antiguo 24/05/2007, 13:03
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: Ayuda urgente!!!

por que no pones nada mas un simple if, donde preguntas el valor del EMAIL, si el valor de radio = 0(cero), entonces no validas???
//comprueba campo de email
if radio.checked=0{

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

una simple sugerencia, algo mas estructurado diras los compañeros del foro
suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra

Última edición por Shiryu_Libra; 24/05/2007 a las 13:09
  #3 (permalink)  
Antiguo 24/05/2007, 22:31
 
Fecha de Ingreso: mayo-2007
Mensajes: 4
Antigüedad: 17 años
Puntos: 0
Re: Ayuda urgente!!!

amigo no me funciona o no se bien implementarlo si tu lo pudieras probar y subir tal cual iria en el codigo pliss

se agradece
  #4 (permalink)  
Antiguo 25/05/2007, 03:09
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: Ayuda urgente!!!

ok... cambia solo estos pedazos de codigo

en tus validacion del email
Código PHP:
    if(document.getElementById('rbsi').checked){
    if(!
er_email.test(formulario.email.value)) { 
        
alert('Contenido del campo E-MAIL no válido.')
        return 
false
    
} } 
y en tus camps del formulario
Código PHP:
     <td width="200">si
<INPUT id="rbsi" type="radio" name="valEmail" onClick="Switch('myId');" value="visible">
no
<input id="rbno" type="radio" name="valEmail" onClick="Switch('myId');" value="hidden"><br>
<
div id="myId" style="position: absolute; visibility: hidden;"><small>E-mail:</small><br
<
input type="text" id="email" name="email" size="14"></div></td><!-- Col 1 --> 
espero que ahora si no tengas problemas
suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #5 (permalink)  
Antiguo 25/05/2007, 10:28
 
Fecha de Ingreso: mayo-2007
Mensajes: 4
Antigüedad: 17 años
Puntos: 0
Re: Ayuda urgente!!!

amigo primero que nada te doy las gracias por tu paciencia y tu ayuda pero no me funca
ahora la casilla de correo no se me ve

amigo porfiavor si me puediaras ayudar probandolo tu y ver que si funciona pliss

te agradeco de antemano

Salu2
  #6 (permalink)  
Antiguo 25/05/2007, 14:11
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: Ayuda urgente!!!

ahora si...
Código PHP:
<td width="200">si
<INPUT id="rbsi" type="radio" name="valEmail" onclick="document.getElementById('myId').visbility=this.value;" value="visible">
no
<input id="rbno" type="radio" name="valEmail" onclick="document.getElementById('myId').visbility=this.value;" value="hidden"><br>
<
div id="myId" style="position: absolute; visibility: hidden;"><small>E-mail:</small><br
<
input type="text" id="email" name="email" size="14"></div></td><!-- Col 1 --> 
suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #7 (permalink)  
Antiguo 25/05/2007, 17:40
 
Fecha de Ingreso: mayo-2007
Mensajes: 4
Antigüedad: 17 años
Puntos: 0
Re: Ayuda urgente!!!

amigo muchas gracias ahora si me lo valida pero al poner que si no me sale la casilla como lo hago??.

muchas gracias por tu paciencia
  #8 (permalink)  
Antiguo 25/05/2007, 19:01
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: Ayuda urgente!!!

Descarga tu archivo desde aki, no debes tener mas problemas... y si hay... postea de nuevo

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:27.