Foros del Web » Programando para Internet » Jquery »

Validar formulario (unreachable code after return statement)

Estas en el tema de Validar formulario (unreachable code after return statement) en el foro de Jquery en Foros del Web. Hola a todos espero anden de lo mejor, saben me gustaría que me ayudaran con lo siguiente, lo que pasa es que tengo mi formulario ...
  #1 (permalink)  
Antiguo 12/02/2016, 15:43
Avatar de F3RC4O  
Fecha de Ingreso: abril-2011
Ubicación: Chilpancingo de los Bravo
Mensajes: 30
Antigüedad: 13 años
Puntos: 1
Exclamación Validar formulario (unreachable code after return statement)

Hola a todos espero anden de lo mejor, saben me gustaría que me ayudaran con lo siguiente, lo que pasa es que tengo mi formulario y al momento de validarlo pues ahí todo ok, pero al momento de querer enviar los datos ya no me los envia, alguna ayuda? Debo aclarar que los datos los envío por ajax
Aquí mi formulario:

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.     <meta charset="UTF-8">
  4.     <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  5.     <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
  6.     <script src="http://code.jquery.com/jquery-1.8.2.js"></script>
  7.     <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
  8.     <link rel="stylesheet" href="http://www.proyectosbds.com/html/css/layout.css" />
  9.     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  10.     <link rel="stylesheet" href="css/estilos.css">
  11.     <script src="js/funciones.js"></script>
  12.     <script>
  13. function valida_envio(){
  14.     if (document.flogin.nombre.value=="") {
  15.         alert("Campo nombre vacío");
  16.         return false;
  17.     }else if (document.flogin.apaterno.value=="") {
  18.         alert("Campo apellido paterno vacío");
  19.         return false;
  20.     }else if (document.flogin.amaterno.value=="") {
  21.         alert("Campo apellido materno vacío");
  22.         return false;
  23.     }else if (document.flogin.email.value=="") {
  24.         alert("Campo email vacío");
  25.         return false;
  26.     }else if (document.flogin.telefono.value=="") {
  27.         alert("Campo telefono vacío");
  28.         return false;
  29.     }else if (document.flogin.nacionalidad.value=="Nacionalidad") {
  30.         alert("Selecciona una nacionalidad");
  31.         return false;
  32.     }else if (document.flogin.perfil.value=="perfi") {
  33.         alert("Selecciona un perfil");
  34.         return false;
  35.     }else if (document.flogin.participacion.value=="participa") {
  36.         alert("Selecciona un tipo de participacion");
  37.         return false;
  38.     }
  39.     return true;
  40.  
  41. }   </script>
  42.  
  43.     <meta charset="UTF-8">
  44.     <title>Registro de usuarios</title>
  45. </head>
  46.     <div class="container">
  47.         <div class="jumbotron boxlogin">
  48.             <h3 align="center">Formulario de registro</h3>
  49.             <br>
  50.              <form method="post" name="flogin" id="flogin">
  51.                 <div class="form-group">
  52.                     <label class="sr-only" for="nombre">Nombre: </label>
  53.                     <input class="form-control" type="text" name="nombre" id="nombre" placeholder="Nombre " required>
  54.                     <label for="" class="sr-only">Apellido paterno: </label>
  55.                     <input class="form-control" type="text" name="apaterno" id="apaterno" placeholder="Apellido paterno " required>
  56.                     <label for="" class="sr-only">Apellido materno: </label>
  57.                     <input class="form-control" type="text" name="amaterno" id="amaterno" placeholder="Apellido materno " required>
  58.                     <label class="sr-only" for="email">Correo electr&oacute;nico: </label>
  59.                     <input class="form-control" type="text" name="email" id="email" placeholder="[email protected] " required>
  60.                     <label class="sr-only" for="telefono">Tel&eactue;fono</label>
  61.                     <input class="form-control" type="text" name="telefono" id="telefono" placeholder="Teléfono" required>
  62.                     <!--está pendiente trabajar con los códigos de área del apartado de telefonos -->
  63.                     <select class="form-control" name="nacionalidad" id="nacionalidad">
  64.                         <option selected="selected">Nacionalidad</option>
  65.                         <option value="opcion1">Opción #1</option>
  66.                         <option value="opcion2">Opción #2</option>
  67.                         <option value="opcion3">Opción #3</option>
  68.                         <option value="opcion4">Opción #4</option>
  69.                         <option value="opcion5">Opción #5</option>
  70.                     </select>
  71.                     <select class="form-control" name="perfil" id="perfil" value="perfi">
  72.                         <option selected="selected">Perfil</option>
  73.                         <option value="profesionista">Profesionista</option>
  74.                         <option value="estudiante">Estudiante</option>
  75.                     </select>
  76.                     <select class="form-control" name="participacion" id="participacion"
  77.                       onchange=" if(this.value =='pon_virt' | this.value=='pon_presc'){
  78.                                  document.getElementById('ponencia').disabled = false
  79.                                  }else{
  80.                                  document.getElementById('ponencia').disabled = true
  81.                                  }">
  82.                         <option selected="selected" value="participa">Tipo de participaci&oacute;n</option>
  83.                         <option value="pon_virt">Ponente virtual</option>
  84.                         <option value="pon_presc">Ponente presencial</option>
  85.                         <option value="cartel">Cartel</option>
  86.                         <option value="asistente">Asistente</option>
  87.                     </select>
  88.                     <label for="" class="sr-only">Nombre de la ponencia: </label>
  89.                     <input class="form-control" type="text" name="ponencia" id="ponencia" placeholder="Nombre de la ponencia: " disabled>
  90.                 </div>
  91.                 <br>
  92.                 <div align="center">
  93.                 <input type="button" class="btn btn-primary" id="btn_enviar" value="¡Enviar!"  onclick="return valida_envio(); enviar_datos_ajax();">
  94.                 </div>
  95.                 <div id="datos_enviados" align="center">
  96.                    
  97.                 </div>
  98.             </form>
  99.         </div>
  100.     </div>
  101.     <script src="http://code.jquery.com/jquery-latest.js"></script>
  102.     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
  103. </body>
  104. </html>


Función de ajax:

Código Javascript:
Ver original
  1. function enviar_datos_ajax(){
  2.  
  3.   var n=document.getElementById("nombre").value
  4.   var ap=document.getElementById("apaterno").value
  5.   var am=document.getElementById("amaterno").value
  6.   var correo=document.getElementById("email").value
  7.   var tel=document.getElementById("telefono").value
  8.   var nac=document.getElementById("nacionalidad").value
  9.   var per=document.getElementById("perfil").value
  10.   var par=document.getElementById("participacion").value
  11.   var pon=document.getElementById("ponencia").value
  12.   var url="accion.php";
  13.  
  14.   $.ajax({
  15.  
  16.     type: "post",
  17.     url: url,
  18.     data: {nombre: n,
  19.           apaterno: ap,
  20.           amaterno: am,
  21.           email: correo,
  22.           telefono: tel,
  23.           nacionalidad: nac,
  24.           perfil: per,
  25.           participacion: par,
  26.           ponencia: pon},
  27.     success:function(datos){
  28.         $("#datos_enviados").html(datos);
  29.     }
  30.   });
  31. };


Aquí recibo datos:
Código PHP:
<?php 

require("conex.php");
function 
limpiar_tags($tags)
{  
    
$tags strip_tags($tags);  
    
$tags stripslashes($tags);  
    
$tags htmlentities($tags);  
    return 
$tags;  
}

echo 
$nombre=strtolower(limpiar_tags($_POST['nombre']));
echo 
$apaterno=strtolower(limpiar_tags($_POST['apaterno']));
echo 
$amaterno=strtolower(limpiar_tags($_POST['amaterno']));
echo 
$email=strtolower(limpiar_tags($_POST['email']));
echo 
$telefono=strtolower(limpiar_tags($_POST['telefono']));
echo 
$nacionalidad=strtolower(limpiar_tags($_POST['nacionalidad']));
echo 
$perfil=strtolower(limpiar_tags($_POST['perfil']));
echo 
$participacion=strtolower(limpiar_tags($_POST['participacion']));
echo 
$ponencia=strtolower(limpiar_tags($_POST['ponencia']));
date_default_timezone_set('America/Mexico_City');
$tiempo date('Y-m-d H:i:s'); 
$fecha=strftime("%Y-%m-%d"time());



try {
        
$sql="INSERT INTO registro(nombre,apaterno,amaterno,email,telefono,nacionalidad,perfil,participacion,ponencia,fecha_reg)
              VALUES ('{$nombre}','{$apaterno}','{$amaterno}','{$email}','{$telefono}','{$nacionalidad}','{$perfil}','{$participacion}','{$ponencia}','{$tiempo}')"
;
              
mysql_query($sql);
              echo 
"Datos";
        } catch (
Exception $e) {

    echo 
"<h1>Error al insertar los datos</h1>".mysql_error($e);
}
?>
Algo, estoy haciendo mal pero no se que es ._.
__________________
Siempre en movimiento
  #2 (permalink)  
Antiguo 12/02/2016, 23:18
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Validar formulario (unreachable code after return statement)

Porque al retornar el valor entregado por la primera función que ejecutas, no le das chance a la segunda de hacerlo.

Una forma práctica que te puede servir es la siguiente:
Código Javascript:
Ver original
  1. $("#flogin").on("submit", function(event){
  2.     event.preventDefault(); //Cancelas el envío
  3.  
  4.     if (valida_envio()){
  5.         //Realizas el envío con el método $.ajax()
  6.     }
  7. });

El método .preventDefault() cancela la ejecución del evento submit, con lo cual no se realizará el envío y así podrás hacerlo mediante AJAX.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: ajax, html, javascript, javascript+html, javascript-funciones
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 13:25.