Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2010, 20:31
Avatar de tampon
tampon
 
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Como inboco a esta funcion despues del la validacion?

Hola tengo una duda, ya probe la funcion enviarMail() y me funciona bien, pero agregue una validacion de datos y estoy tratando de llamar a la funcion despues de que las validaciones resulten correctas, pero no me esta saliendo bien, necesito un poco de ayuda para que se ejecute bien el codigo:


Código Javascript:
Ver original
  1. function nuevoAjax(){
  2. var xmlhttp=false;
  3.  try {
  4.   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.  } catch (e) {
  6.   try {
  7.    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.   } catch (E) {
  9.    xmlhttp = false;
  10.   }
  11.  }
  12.  
  13. if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.   xmlhttp = new XMLHttpRequest();
  15. }
  16. return xmlhttp;
  17. }
  18.  
  19. function borrarCampos(){
  20.     document.enviar_email.reset();
  21. }
  22.  
  23. function enviarMail(){
  24.     c = document.getElementById('div-mensaje');
  25.    
  26.     emis=document.enviar_email.author.value;
  27.     mail=document.enviar_email.email.value;
  28.     url=document.enviar_email.url.value;
  29.     cues=document.enviar_email.cuestion.value;
  30.     mens=document.enviar_email.comment.value;
  31.    
  32.     ajax=nuevoAjax();
  33.     //c.innerHTML = '<p style="text-align:center;"><img src="img/load.gif"/></p>';
  34.     ajax.open("POST", "php/envia_mail.php",true);
  35.     ajax.onreadystatechange=function() {
  36.         if (ajax.readyState==4) {
  37.             c.innerHTML = ajax.responseText
  38.         }
  39.         borrarCampos()
  40.     }
  41.     ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  42.     ajax.send("author="+emis+"&email="+mail+"&url="+url+"&cuestion="+cues+"&mensaje="+mens)
  43. }
  44.  
  45. function validar(formulario) {
  46.  
  47. var remitente = document.getElementById("author").value;
  48. var email = document.getElementById("email").value;
  49. var web = document.getElementById("url").value;
  50. var asunto = document.getElementById("cuestion").value;
  51. var mensaje = document.getElementById("comment").value;
  52.  
  53. var nombre = /(^([a-zA-Z]{1,4}\.\s)?[a-zA-Z\s\u00D1\u00F1\u00E1\u00E9\u00ED\u00F3\u00FA\u00C1\u00C9\u00CD\u00D3\u00DA]{10,400}$)/;
  54. var mail = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
  55. var cadena = /(^[a-zA-Z0-9\s\u00D1\u00F1\u00E1\u00E9\u00ED\u00F3\u00FA\u00C1\u00C9\u00CD\u00D3\u00DAu0021\u0022\u0023\u0024\u0025\u0026\u0027\u0028\u0029\u002B\u002C\u002D\u002E\u002F\u003A\u003B\u003F\u0040\u00A1\u00BF]{10,400}$)/;
  56.  
  57. if (!nombre.test(remitente)) {
  58.     document.getElementById("div-mensaje").innerHTML = "<font color=red>Por favor verifique el campo obligatorio.</font>";
  59.     document.getElementById('author').style.border = "1px solid red";
  60.     document.getElementById('email').style.border = "1px solid #ccc";
  61.     document.getElementById('comment').style.border = "1px solid #ccc";
  62.     document.getElementById("author").focus();
  63.     return false;
  64. } else if (!mail.test(email)) {
  65.     document.getElementById("div-mensaje").innerHTML = "<font color=red>Por favor verifique el campo obligatorio.</font>";
  66.     document.getElementById('author').style.border = "1px solid #ccc";
  67.     document.getElementById('email').style.border = "1px solid red";
  68.     document.getElementById('comment').style.border = "1px solid #ccc";
  69.     document.getElementById("email").focus();
  70.     return false;
  71. } else if (!cadena.test(mensaje)) {
  72.     document.getElementById("div-mensaje").innerHTML = "<font color=red>Por favor verifique el campo obligatorio.</font>";
  73.     document.getElementById('author').style.border = "1px solid #ccc";
  74.     document.getElementById('email').style.border = "1px solid #ccc";
  75.     document.getElementById('comment').style.border = "1px solid red";
  76.     document.getElementById("comment").focus();
  77.     return false;
  78. } enviarMail();
  79.   return false;
  80.  
  81. }

Gracias de antemano