Foros del Web » Programando para Internet » Javascript »

problemas con javascript, no me reconoce la funcion alert

Estas en el tema de problemas con javascript, no me reconoce la funcion alert en el foro de Javascript en Foros del Web. Hola, tengo problemas con esta función: Código HTML: <script type= "text/javascript" > function validar(){ var contador = 0; var exr = /^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,4}$/i; var email = ...
  #1 (permalink)  
Antiguo 22/03/2011, 10:56
 
Fecha de Ingreso: marzo-2011
Mensajes: 32
Antigüedad: 13 años, 1 mes
Puntos: 1
problemas con javascript, no me reconoce la funcion alert

Hola, tengo problemas con esta función:
Código HTML:
<script type="text/javascript">
function validar(){
	var contador = 0;
	var exr = /^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,4}$/i;
	var email = registrarse.email.value;
	var pass1 = registrarse.pass1.value;
	var pass2 = registrarse.pass2.value;
	var nombre = registrarse.nombre.value;
	var apellido = registrarse.apellido.value;
	var procincia = registrarse.provincia.value;
	var localidad = registrarse.localidad.value;
	
	if(email == '' || pass1 == '' || pass2 == '' || nombre == '' || apellido == '' || mail == '' || provincia == '' || localidad == ''){
		alert('Hay campos sin completar.\nPor favor verifique antes de enviar el formulario');
		return false;
	}
	else if(pass1 != pass2){
		alert('Las contraseñas ingresadas son distintas');
		return false;
	}
	else if(!exr.test(email)){
		alert('El correo electrónico ingresado no es valido');
		return false;
	}
	else{
		return true;
	}
}
</script> 
el problema de esto radica en que por ejemplo, cuando hay campos sin completar, entra en acción la función alert que te indica de que hay un error, pero cuando coloco contraseñas distintas, no sale la ventana que indica el error, lo mismo sucede con la verificación del email, y no entiendo porque pasa esto!

aca esta le formulario
Código HTML:
<fieldset>
	<legend align = "center"><h1>Formulario de Registro</h1></legend>
	<br />
	<label for="email"><font>Correo Electronico:</font></label>
	<input type="textfield" name="email" size="50"/>

	<label for="contraseña"><font>Contraseña:</font></label>
	<input type="password" name="pass1" size="50"/>

	<label for="contraseña"><font>Repetir Contraseña:</font></label>
	<input type="password" name="pass2" size="50"/>
	<br />
	<br />
	<hr />
	<label for="nombre"><font>Nombre:</font></label>
	<input type="textfield" name="nombre" size="50"/>

	<label for="apellido"><font>Apellidos:</font></label>
	<input type="textfield" name="apellido" size="50"/>

	<label for="provincia"><font>Provincia:</font></label>
	<input type="textfield" name="provincia" size="50"/>

	<label for="localidad"><font>Localidad:</font></label>
	<input type="textfield" name="localidad" size="50"/>
	<br />
	<br />
	<input class = "btn" name="submit" type="submit" value="Registrar" />
	<br />
</fieldset> 
desde ya muchas gracias por su ayuda
  #2 (permalink)  
Antiguo 22/03/2011, 11:15
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: problemas con javascript, no me reconoce la funcion alert

Estas seguro que estás usando la etiqueta form?
En que momento llamas a la función validar?
__________________
I am Doyle please insert code.
  #3 (permalink)  
Antiguo 22/03/2011, 11:27
 
Fecha de Ingreso: marzo-2011
Mensajes: 32
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: problemas con javascript, no me reconoce la funcion alert

Cita:
Iniciado por doylelives Ver Mensaje
Estas seguro que estás usando la etiqueta form?
En que momento llamas a la función validar?
si mira, estoy usando la etiqueta form, y aca llamo a la funcion

<form name="registrarse" action="" method="post" onsubmit="return validar(this);">

gracias por la ayuda
  #4 (permalink)  
Antiguo 22/03/2011, 11:28
 
Fecha de Ingreso: marzo-2011
Mensajes: 32
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: problemas con javascript, no me reconoce la funcion alert

te lo dejo mas claro:

<form name="registrarse" action="" method="post" onsubmit="return validar(this);">
<br />
<br />
<fieldset>
<legend align = "center"><h1>Formulario de Registro</h1></legend>
<br />
<label for="email"><font>Correo Electronico:</font></label>
<input type="textfield" name="email" size="50"/>

<label for="contraseña"><font>Contraseña:</font></label>
<input type="password" name="pass1" size="50"/>

<label for="contraseña"><font>Repetir Contraseña:</font></label>
<input type="password" name="pass2" size="50"/>
<br />
<br />
<hr />
<label for="nombre"><font>Nombre:</font></label>
<input type="textfield" name="nombre" size="50"/>

<label for="apellido"><font>Apellidos:</font></label>
<input type="textfield" name="apellido" size="50"/>

<label for="provincia"><font>Provincia:</font></label>
<input type="textfield" name="provincia" size="50"/>

<label for="localidad"><font>Localidad:</font></label>
<input type="textfield" name="localidad" size="50"/>
<br />
<br />
<input class = "btn" name="submit" type="submit" value="Registrar" />
<br />
</fieldset>
</form>

aca tenes todo como esta, je.
  #5 (permalink)  
Antiguo 22/03/2011, 13:36
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 10 meses
Puntos: 35
Respuesta: problemas con javascript, no me reconoce la funcion alert

Te conviene usar el objeto document para acceder a los elementos del html,
Código Javascript:
Ver original
  1. var email = document.registrarse.email.value;
  2.     var pass1 = document.registrarse.pass1.value;
  3.     var pass2 = document.registrarse.pass2.value;
  4. etc
__________________
I am Doyle please insert code.
  #6 (permalink)  
Antiguo 23/03/2011, 09:13
 
Fecha de Ingreso: marzo-2011
Mensajes: 32
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: problemas con javascript, no me reconoce la funcion alert

Gracias, la verdad que me ayudaste bastante. Por si a alguien le sirve aca dejo el codigo que me funciona correctamente

FORMULARIO
Código HTML:
<form name="registrarse" action="" method="post" onsubmit="return Validar();">
<br />
<br />
<fieldset>
<legend align = "center"><h1>Formulario de Registro</h1></legend>
<br />
<label for="email"><font>Correo Electronico:</font></label>
<input type="textfield" id="email" name="email" size="50" maxlength="50"/>

<label for="contraseña"><font>Contraseña:</font></label>
<input type="password" id="pass1" name="pass1" size="50" maxlength="30"/>

<label for="contraseña"><font>Repetir Contraseña:</font></label>
<input type="password" id="pass2" name="pass2" size="50" maxlength="30"/>
<br />
<br />
<hr />
<label for="nombre"><font>Nombre:</font></label>
<input type="textfield" id="nombre" name="nombre" size="50" maxlength="50"/>

<label for="apellido"><font>Apellidos:</font></label>
<input type="textfield" id="apellido" name="apellido" size="50" maxlength="50"/>

<label for="provincia"><font>Provincia:</font></label>
<input type="textfield" id="provincia" name="provincia" size="50" maxlength="50"/>

<label for="localidad"><font>Localidad:</font></label>
<input type="textfield" id="localidad" name="localidad" size="50" maxlength="50"/>
<br />
<br />
<input class = "btn" name="enviar" id="enviar" type="submit" value="Registrar" />
<br />
</fieldset>
</form> 
Y ACA EL VALIDADOR JAVASCRIPT
Código HTML:
<script type="text/javascript">
function Validar(){
	var exr = /^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,4}$/i;
	var email = document.registrarse.email.value;
	var pass1 = document.registrarse.pass1.value;
	var pass2 = document.registrarse.pass2.value;
	var nombre = document.registrarse.nombre.value;
	var apellido = document.registrarse.apellido.value;
	var procincia = document.registrarse.provincia.value;
	var localidad = document.registrarse.localidad.value;
	
	if(email.length == 0 || pass1.length == 0 || pass2.length == 0 || nombre.length == 0 || apellido.length == 0 || provincia.length == 0 || localidad.length == 0){
		alert("Hay campos sin completar.\nPor favor verifique antes de enviar el formulario");
		return false;
	}
	else if(pass1 != pass2){
		alert("Las contraseñas ingresadas no coinciden");
		return false;
		}
	else if(!exr.test(email)){
		alert('El correo electrónico ingresado no es valido');
		return false;
	}
	else{
		alert("El formulario fue rellenado correctamente");
		return true;
	}
}
</script> 

Etiquetas: alerta
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 18:06.