Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2015, 12:48
lucho99
 
Fecha de Ingreso: julio-2015
Mensajes: 8
Antigüedad: 8 años, 9 meses
Puntos: 0
Adjuntar variables en un cuadro de alertas (Javascript)

Hola como están estoy haciendo una aplicación sobre validación de Topics en Twitter y tengo mis condiciones para que lo que escribamos en el "textarea" cumpla con mis condiciones y si hay un error que aparezcan cuadros de alerta. Ahora lo que hice fue que primero se evaluara cada condición y que al final nos apareciera un solo cuadro de alerta con todos los errores que tuvo el usario al ingresar el texto en el "textarea". Asi esta mi codigo:
Código Javascript:
Ver original
  1. function validacion()
  2. {
  3.  
  4.          
  5.         var m1 = /(contains:|AND)+/.exec(document.valida.query.value);
  6.  
  7.   if(document.valida.query.value.length===0) {
  8.      var m2 = "You must write something in the box.";
  9.     }
  10.   if (document.valida.query.value.length >= 480) {
  11.       if (confirm("If you click 'ok' you will be redirected to a page to solve your problem, if not you will stay in this page " )) {
  12.            window.open("https://dev.twitter.com/streaming/overview/request-parameters#track");
  13.         }
  14.     }
  15.  
  16.   if (m1 !== null ) {
  17.       if (confirm("You can´t search for the word 'contains' or 'AND'. If you click 'ok' you will be redirected to a page to solve your problem, if not you will stay in this page " )) {
  18.            window.open("https://dev.twitter.com/streaming/overview/request-parameters#track");
  19.         }
  20.     }
  21.     if (document.valida.query.value.indexOf(":") !== -1) {
  22.           var m = /(text|from|to|retweet_of|twitter_lang)+:/.exec(document.valida.query.value);
  23.             if ( m === null) {
  24.                  var m3 = "The words that you typed in the box are not a valid operator.";
  25.       }
  26.      
  27.     }
  28.  
  29.                    
  30.  
  31.   if (/(Á|á|É|é|Í|í|Ó|ó|Ú|ú|Ñ|ñ)+/.exec(document.valida.query.value)){
  32.    var m4 = "En este campo de busqueda no puede ingresar caracteres con tilde";
  33.  }
  34.  
  35.   if (/(à|â|ä|À|Â|Ä|è|ê|ë|È|Ê|Ë|ì|î|ï|Ì|Î|Ï|ò|ô|ö|Ò|Ô|Ö|ù|û|ü|Ù|Û|Ü)+/.exec(document.valida.query.value)){
  36.      var m5 = "En este campo de busqueda no se puede ingresar este tipo de caracteres";
  37.   }
  38.  
  39.   if (/(ç|Ç)+/.exec(document.valida.query.value)){
  40.     var m6 = "En este campo de busqueda no puede ingresar caracteres con tilde";
  41.   }
  42.  
  43.   alert('-' + m2 + '\n' +'-'+  m3 + '\n' +'-' +  m4 + '\n' +'-' +  m5 + '\n' +'-' + m6);
  44. }

Este es mi funcion con las condiciones y todo, y mi cuadro de alerta al final de todo mi codigo. Sin embargo, al correrlo me aparece algo muy raro. Cuando una condicion no se cumple, es decir que lo que ingrese no me tiene algun error. Por ejemplo, puede ser que ingrese una palabra que no contenga "á" y esa condicion no se me cumple y la variable que puse dentro de esa condicion no se inicializa. Al finalizar todo me aparece mi cuadro de alerta con los errores que tengo pero los errores que no tengo aparecen como "undefined", es decir las variables que no se cumplieron por asi decirlo aparecen como "undefined".
Como puedo cambiar esto para que cuando mi texto no tenga algun error no aparezca ni "undefined" ni nada sino un espacio en blanco.
Gracias