Foros del Web » Programando para Internet » Javascript »

return false;

Estas en el tema de return false; en el foro de Javascript en Foros del Web. Hola amigos la e creado varios evento y cada uno con su alert pero cuando se detiene en el da el error y se envia ...
  #1 (permalink)  
Antiguo 12/09/2012, 11:15
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
return false;

Hola amigos la e creado varios evento y cada uno con su alert pero cuando se detiene en el da el error y se envia lo cual la funcion return false, no me detiene el envio del formulario en ie como puedo solucionarlo?.

Código Javascript:
Ver original
  1. if ( valor == null || valor.length == 0 || /^\s+$/.test(valor) ){
  2.                          
  3.                          alert('Por favor, Escriba su Nombre');
  4.                          nombre.focus();
  5.                          return false;
  6.                                           }else
  7.                     if ( valor2 == null || valor2.length == 0 || /^\s+$/.test(valor2)){
  8.                        
  9.                          alert('Por favor, Escriba su Email');
  10.                          email.focus();
  11.                          return false;
  12.                        
  13.                                           }
Muchas gracias
  #2 (permalink)  
Antiguo 12/09/2012, 11:29
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: return false;

Puedes poner tu funcion completa
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 12/09/2012, 11:31
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: return false;

ok disculpa

Código Javascript:
Ver original
  1. function validacion(){
  2.  
  3.  
  4.                      valor = document.getElementById("nombre").value;
  5.                      valor2 = document.getElementById("email").value;
  6.                      valor3 = document.getElementById("email").value;
  7.                      valor4 = document.getElementById("localidad").value;
  8.                      valor5 = document.getElementById("depar").selectedIndex;
  9.                      valor6 = document.getElementById("asunto").value;
  10.                      valor7 = document.getElementById("texto").value;
  11.                    
  12.                     if ( valor == null || valor.length == 0 || /^\s+$/.test(valor) ){
  13.                          
  14.                          alert('Por favor, Escriba su Nombre');
  15.                          nombre.focus();
  16.                          return false;
  17.                                           }else
  18.                     if ( valor2 == null || valor2.length == 0 || /^\s+$/.test(valor2)){
  19.                        
  20.                          alert('Por favor, Escriba su Email');
  21.                          email.focus();
  22.                          return false;
  23.                        
  24.                                           }else
  25.                     if ( !(/^[a-z0-9]+[a-z0-9\_\-\.]*[a-z0-9]+@{1}[a-z0-9]{2,128}\.([a-z0-9]{2,6}(\.[a-z0-9]{2,4})?)$/i.test(valor3))){
  26.                        
  27.                          alert('Por favor, Escriba un Email correcto');
  28.                          email.focus();
  29.                          return false;
  30.                        
  31.                                          }else
  32.                     if ( valor4 == null || valor4.length == 0 || /^\s+$/.test(valor4) ){
  33.                        
  34.                         alert('Por favor, Escriba su Localidad');
  35.                         localidad.focus();
  36.                         return false;
  37.                        
  38.                                         }else
  39.                     if ( valor5 == null || valor5 ==0){
  40.                        
  41.                        
  42.                         alert('Por favor, Seleccione un Departamento');
  43.                         depar.focus();
  44.                         return false;
  45.                        
  46.                                         }else
  47.                     if ( valor6 == null || valor6.length == 0 || /^\s+$/.test(valor6) ){
  48.                        
  49.                         alert('Por favor, Escriba su Asunto');
  50.                         asunto.focus();
  51.                         return false;
  52.                        
  53.                                         }else
  54.                     if ( valor7 == null || valor7.length == 0 || /^\s+$/.test(valor7) ){
  55.                        
  56.                         alert('Por favor, Escriba su Mensaje');
  57.                         return false;
  58.                        
  59.                                         }
  60.                    
  61.                         return true;
  62.                                         }

Código HTML:
Ver original
  1. <form method="post" action="enviar.php" onsubmit="return validacion()" name="form" >
  2. <td><input type="submit" name="enviar" value="Enviar" style="padding:5px;" /></td>
  3.             </tr>
  4.    </table>
  5.    </form>
  #4 (permalink)  
Antiguo 12/09/2012, 11:49
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: return false;

Cita:
Iniciado por Dradi7 Ver Mensaje
Puedes poner tu funcion completa
ese es muchas gracias por tu ayuda.
  #5 (permalink)  
Antiguo 12/09/2012, 11:54
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: return false;

Me parece raro yo he probado tu codigo y me funciona correctamente
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #6 (permalink)  
Antiguo 12/09/2012, 11:56
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: return false;

Cita:
Iniciado por Dradi7 Ver Mensaje
Me parece raro yo he probado tu codigo y me funciona correctamente
sera por mi navegador de internet explores esq solo hay es donde me falla en mozilla va bien.
  #7 (permalink)  
Antiguo 12/09/2012, 11:57
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: return false;

podría ser verifica en la consola de tu navegador que te retorna

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #8 (permalink)  
Antiguo 12/09/2012, 16:02
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: return false;

Podría ser que donde declaras valor, valor2-7 no lo declaras con var:

valor = document.getElementById("nombre").value;

var valor = document.getElementById("nombre").value;
  #9 (permalink)  
Antiguo 12/09/2012, 17:02
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: return false;

Cita:
Iniciado por ocp001a Ver Mensaje
Podría ser que donde declaras valor, valor2-7 no lo declaras con var:

valor = document.getElementById("nombre").value;

var valor = document.getElementById("nombre").value;
Hola muchas gracias pues la verdad no es tampoco lo del var lo e probado en el servidor y internet explorer no me funcciona bien en lo demas sin problema, parece como que no entiende el return false; ya que envia el formulario aun vacio espero me puedan ayudar.

Muchas gracias.
  #10 (permalink)  
Antiguo 12/09/2012, 17:21
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Respuesta: return false;

buenas amigo el problema es que al utilizar

valor = document.getElementById("nombre").value;

si un elemento no existe o si hay otro elemento con el mismo id te dará error
el caso tendrias que hacer algo parecid ha esto

var nombre = document.getElementById("nombre");
if( nombre ){
valor = nombre.value
}
var email= document.getElementById("email");
if( email){
valor2 = email.value
}

etc etc...


pero en otro caso y lo haría de esta forma

Código PHP:
<script type="text/javascript">
if(
typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return 
this.replace(/^s+|s+$/g'');
}
}
function 
validacion(){
    var 
input=new Array(
    {
name:"nombre"error:"Por favor, Escriba su Nombre" },
    {
name:"email"error:"Por favor, Escriba su Email"},
    {
name:"email"isemail:trueerror:"Por favor, Escriba un Email correcto"},
    {
name:"localidad",error:"Por favor, Escriba su Localidad"},
    {
name:"depar"error:"Por favor, Seleccione un Departamento"},
    {
name:"asunto",error:"Por favor, Escriba su Asunto"},
    {
name:"texto",error:"Por favor, Escriba su Mensaje"});
    for(var 
n  in input){
        var 
input[n];
        var 
obj document.getElementById(p.name);
        if(!
obj){
            
alert(p.error);    
            return 
false;
        }else{
            var 
value obj.value.trim();
            if(
p.isemailvalue=(/^[a-z0-9]+[a-z0-9_-.]*[a-z0-9]+@{1}[a-z0-9]{2,128}.([a-z0-9]{2,6}(.[a-z0-9]{2,4})?)$/i.test(value))?value:false;
            if(!
value ){
                
alert(p.error);    
                
obj.focus();
                return 
false;
            }
        }
    }
}
</script> 
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #11 (permalink)  
Antiguo 12/09/2012, 17:42
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 12 años, 10 meses
Puntos: 32
Respuesta: return false;

De forma rápida podría suponer que el error está en que al afirmarse cualquier condición se intenta hacer foco al elemento que se valida, pero no veo dónde se haya asignado el objeto a tal varialble, por ejemplo en "nombre.focus()", ¿Dónde está "var nombre = document.getElementById('nombre')"?
  #12 (permalink)  
Antiguo 12/09/2012, 18:14
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: return false;

Cita:
Iniciado por Lynxcraft Ver Mensaje
buenas amigo el problema es que al utilizar

valor = document.getElementById("nombre").value;

si un elemento no existe o si hay otro elemento con el mismo id te dará error
el caso tendrias que hacer algo parecid ha esto

var nombre = document.getElementById("nombre");
if( nombre ){
valor = nombre.value
}
var email= document.getElementById("email");
if( email){
valor2 = email.value
}

etc etc...


pero en otro caso y lo haría de esta forma

Código PHP:
<script type="text/javascript">
if(
typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return 
this.replace(/^s+|s+$/g'');
}
}
function 
validacion(){
    var 
input=new Array(
    {
name:"nombre"error:"Por favor, Escriba su Nombre" },
    {
name:"email"error:"Por favor, Escriba su Email"},
    {
name:"email"isemail:trueerror:"Por favor, Escriba un Email correcto"},
    {
name:"localidad",error:"Por favor, Escriba su Localidad"},
    {
name:"depar"error:"Por favor, Seleccione un Departamento"},
    {
name:"asunto",error:"Por favor, Escriba su Asunto"},
    {
name:"texto",error:"Por favor, Escriba su Mensaje"});
    for(var 
n  in input){
        var 
input[n];
        var 
obj document.getElementById(p.name);
        if(!
obj){
            
alert(p.error);    
            return 
false;
        }else{
            var 
value obj.value.trim();
            if(
p.isemailvalue=(/^[a-z0-9]+[a-z0-9_-.]*[a-z0-9]+@{1}[a-z0-9]{2,128}.([a-z0-9]{2,6}(.[a-z0-9]{2,4})?)$/i.test(value))?value:false;
            if(!
value ){
                
alert(p.error);    
                
obj.focus();
                return 
false;
            }
        }
    }
}
</script> 
Hola muchisima gracias por tu ayuda pero sigo teniendo problemas sera de otra cosa y mira que estoy revisando.


Muchas gracias a todos aver si doy con la averia xD.

Etiquetas: formulario, funcion, return
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 11:51.