Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Problema con validación Javascript

Estas en el tema de Problema con validación Javascript en el foro de Jquery en Foros del Web. Hola, gente de forosdelweb! Tengo un problemilla con mi código de validación de formulario hecho en javascript. Les describo el formulario: Tiene 4 campos. tres ...
  #1 (permalink)  
Antiguo 01/03/2013, 16:30
Avatar de agustin_molina  
Fecha de Ingreso: marzo-2013
Mensajes: 4
Antigüedad: 11 años, 1 mes
Puntos: 0
Exclamación Problema con validación Javascript

Hola, gente de forosdelweb! Tengo un problemilla con mi código de validación de formulario hecho en javascript.

Les describo el formulario:
Tiene 4 campos.
tres input que son:
-nombre
-email
-asunto
un text area que es:
-mensaje

Una div llamada btn_enviar que actúa de botón.
Una div llamada resultados cuyo texto cambia de acuerdo a la validación.

Ahora el problema:
Cuando presiono btn_enviar, el código se ejecuta pero el texto de resultados me dice que el email es inválido. probé sacando la linea del email para ver si el problema estaba en esa parte del código, pero el texto pasó a decirme que el campo nombre estaba vacio. (cuando no lo está)

por qué javascript no respeta los condicionales?

aquí dejo el código javascript:

Código PHP:
$(document).ready(inicializarEventos);

function 
inicializarEventos(){
  $(
"#btn_enviar").click(presionSubmit);
}

function 
presionSubmit()
{
  var 
errores 0;
  $(
"#resultados").html("");
  var 
= $("#nombre").attr("value");
  var 
= $("#email").attr("value");
  var 
= $("#asunto").attr("value");
  var 
= $("#mensaje").attr("value");
  var 
RegExPattern1 = /[a-z]/;
  var 
RegExPattern2 = /(w[-._w]*w@w[-._w]*w.w{2,3})/; 
  var 
RegExPattern3 = /[0-9]/;
    
     if ( !
n.match(RegExPattern1) ) {  
        
errores++;
        $(
"#resultados").html("Error, sólo caracteres...");
  }
      if ( 
== "" ) { 
        
errores++;
        $(
"#resultados").html("Error, nombre vacio...");
  }
       if ( !
a.match(RegExPattern1) ) {  
        
errores++;
        $(
"#resultados").html("Error, sólo caracteres...");
  }
    if ( 
== "" ) { 
        
errores++;
        $(
"#resultados").html("Error, asunto vacio...");
  }
  
  if ( !
e.match(RegExPattern2) ) {  
        
errores++;
        $(
"#resultados").html("Error, no es un e-mail válido...");
  } 
  
  if ( 
== ) {  
        
errores++;
        $(
"#resultados").html("Error, ingrese su mensaje...");
  }
  if ( 
errores == ) {  
        $.
post("#resultados",{nombre:nemail:emensaje:masunto:a}, llegadaDatos);
  } 
  return 
false;
}

function 
llegadaDatos(datos)
{
  $(
"#resultados").html(datos);

desde ya, muchas gracias.
  #2 (permalink)  
Antiguo 01/03/2013, 17:06
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Problema con validación Javascript

Tienes un error en tu expresion regular, estas usando el shortcut 'w' sin anteponerle '\', pero mejor te pongo una expresion regular un poco mas estricta:

Código Javascript:
Ver original
  1. var RegExPattern2 = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;

ya probe tu codigo on esta expresion regular y si pones algo fuera de un correo normal te dice que esta mal.

Saludos,
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #3 (permalink)  
Antiguo 01/03/2013, 21:42
Avatar de agustin_molina  
Fecha de Ingreso: marzo-2013
Mensajes: 4
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Problema con validación Javascript

Muchas gracias, pero sigue pasando. será problema del formulario? les paso el código html del form:
tengan en cuenta que si saco la linea que comprueba el email, me tira error en el nombre. y si saco la linea del nombre también, me dice que el asunto está mal. es como si el javascript se salteara los condicionales y pasara directamente a cambiar el texto de #resultados

Código PHP:
<div id="formcontainer">
<
form id="formulario" name="formulario" method="post" action="codigos/mail.php">
  <
p>
    <
input name="nombre" type="text" class="rounded" id="nombre" value=" Nombre" />
  </
p>
  <
p>
    <
label for="email"></label>
    <
input name="email" type="text" class="rounded" id="email" value=" Mail" />
  </
p>
  <
p>
    <
label for="asunto"></label>
    <
input name="asunto" type="text" class="rounded" id="asunto" value=" Asunto" />
  </
p>
  <
p>
    <
label for="mensaje"></label>
    <
input name="mensaje" type="text" class="roundedMensaje" id="mensaje" value=" Mensaje" />
  </
p>
  <
div id="resultados">asdasdsa</div>
  <
p>&nbsp;</p>
  <
div id="btn_enviar">ENVIAR</div>
</
form



EDIT:

Hice avances! El problema no estaba en el script. lo que está ocurriendo es que los scripts cargados de un directorio no me funcionan. o sea, lo que hice fue poner un tag <script type="text/javascript"><script> y el código adentro. en vez de usar " src="(directorio)" "

Ahora, el problema es este.

if ( errores == 0 ) {
$.post("#resultados",{nombre:n, email:e, mensaje:m, asunto:a}, llegadaDatos);

Esta linea requiere si o si abrir un script desde un directorio, por lo que el php no se ejecuta.
Esto se está complicando cada vez más.

Última edición por agustin_molina; 02/03/2013 a las 20:14 Razón: Encontré que el problema es más complejo de lo que creia
  #4 (permalink)  
Antiguo 03/03/2013, 16:27
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Problema con validación Javascript

Puedes poner todo tu html para ver que como lo estas haciendo y asi poderte ayudar mas, saludos.
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #5 (permalink)  
Antiguo 03/03/2013, 17:16
Avatar de agustin_molina  
Fecha de Ingreso: marzo-2013
Mensajes: 4
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Problema con validación Javascript

Uf, quise postear que ya lo había arreglado y se me fue internet.
Al final estaba poniendo mal el jquery.
puse el:
Código PHP:
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
pero no el:
Código PHP:
<script src="http://code.jquery.com/jquery-migrate-1.1.1.min.js"></script> 
entonces no se ejecutaba bien. ahora anda todo perfecto. se me mandan los mensajes y todo n.n
  #6 (permalink)  
Antiguo 03/03/2013, 19:16
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Problema con validación Javascript

Que bien que ya te salio, saludos. !!!
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #7 (permalink)  
Antiguo 04/03/2013, 13:18
Avatar de agustin_molina  
Fecha de Ingreso: marzo-2013
Mensajes: 4
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Problema con validación Javascript

Cita:
Iniciado por Reedyseth Ver Mensaje
Que bien que ya te salio, saludos. !!!
Gracias! y Gracias por tu ayuda!

Etiquetas: form, javascript, validacion
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 12:26.