Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Rebeca en Junio 29, 2021, 05:13:46 PM

Título: [SOLUCIONADO] Al validar no me funciona el POST
Publicado por: Rebeca en Junio 29, 2021, 05:13:46 PM
Hola a todos, quiero validar dos campos, anda muy bien , el tema es que una vez validado no me manda al post...

dejo mi form_
Código (html5) [Seleccionar]
<form action="PrimerPost.php" method="POST" enctype="multipart/form-data" id="form">
<div class="container fondo">
<div class="row">
<div class="mb-3 fondo">

  <label  class="form-label"><b>Nombre Completo</b></label>
  <input type="tetx" class="form-control" id="name" name="cl_NomCompleto"  placeholder="Nombre Completo">
</div>

<div class="mb-3">
  <label  class="form-label"><b>DNI</b></label>
  <input type="text" class="form-control" id="cldne" name="cl_DnIE" placeholder="Su DNI">
</div>
<br>

<br>
</div>

<button type="submit" type="button" class="btn btn-success">Seguir</button>
<p class="warnings" id="warnings"></p>
</form>
<br>
<script src="publicar.js"></script>


y el código de validación con JavaScript.
Código (javascript) [Seleccionar]


const nombre = document.getElementById("name")
const cldne = document.getElementById("cldne")
const form = document.getElementById("form")
const parrafo =document.getElementById("warnings")

    form.addEventListener("submit", e=>{
        e.preventDefault()
        let warnings =""
        parrafo.innerHTML=""
        if(nombre.value.length <4){
           
            warnings +=`El nombre es muy corto <br>`
            entrar= true
        }

        if(cldne.value.length<8){
            warnings +=`El nombre es muy corto <br>`
            entrar= true
        }
        if(entrar){
            parrafo.innerHTML= warnings
        }else{
            //this.submit();
            //document.forms.submit();
            $form.submit();
        }
    })





Posrqie no manda a "PrimerPost.php" ..... 

Sinceramente no lo se hacer , lo he sacado de youtube y anda bien pero no se encvia el form... :(
Gracias nuevamente !
Saludos
rebe
Título: Re: Al validar no me funciona el POST
Publicado por: Lautaro Villarreal Culic' en Julio 01, 2021, 04:00:17 AM
Hola Rebe como andas?
Tenes el archivo PrimerPost.php?
Título: Re: Al validar no me funciona el POST
Publicado por: WHK en Julio 01, 2021, 02:51:00 PM
Hola, reemplaza "$form.submit();" por "e.currentTarget.submit();" y nos cuentas.

Saludos.
Título: Re: Al validar no me funciona el POST
Publicado por: Rebeca en Julio 05, 2021, 02:31:26 PM
Hola Disculpen  la demora al contestar, ...

el archivo .primerpost.php es:
Código (php) [Seleccionar]

session_start();
include("../config.php");
$cone=conectar();
$ClEmail =$_SESSION['email'];
$ClNomCompleto = $_POST['ClNomCompleto'];
$ClDnIE = $_POST['ClDnIE'];
$duplicado="";

if($ClNomCompleto  === '' || $ClDnIE=== ''){/*COMPROBAMOS QUE LOS DATOS NO LLEGUEN NULOS */
   
header("Location:../iniedenind.php");

}
/* COMPROBAMOS QUE EL EMAIL NO ESTE DUPLICADO */
    $registros=mysqli_query($cone,"SELECT ClDnIE FROM alumnos WHERE ClDnIE='$ClDnIE'") or die("Problemas en el select:".mysqli_error($cone));
    while ($reg=mysqli_fetch_array($registros)){ /* PRIMER WHILE */
   echo  $duplicado=$reg['ClDnIE'];
    }//echo "email duplicado";
   
    if($duplicado==$ClDnIE){
       
        header('Location:PrFormA.php?VaDup="Y"');
   
    }else{

       
            $registros=mysqli_query($cone,"SELECT user_id FROM users WHERE email='$ClEmail'") or die("Problemas en el select:".mysqli_error($cone));
            while ($reg=mysqli_fetch_array($registros)){ /**SEGUNDO WHILE */
            $id_alumnos=$reg['user_id'];
        }

        $query = "INSERT INTO   alumnos (ClNomCompleto,ClDnIE,ClEmail)  VALUES ('$ClNomCompleto','$ClDnIE','$ClEmail')";
        $res = mysqli_query($cone, $query);
       
        $publico="SIP";
       
        $query = "UPDATE  users SET UserPubli='$publico' WHERE email='$ClEmail'";
        $res = mysqli_query($cone, $query);
   header('Location:SeFormB.php');
}


?>



Ahora modifique el script , como no me anduvo hice lo siguiente.:

Código (javascript) [Seleccionar]
<script>
  document.addEventListener("DOMContentLoaded", function() {
  document.getElementById("formulario").addEventListener('submit', validarFormulario);

});

function validarFormulario(evento) {
  evento.preventDefault();
  var usuario = document.getElementById('clN').value;
  if(usuario.length == 0) {

   swal("Nombre Vacio");
    //alert('No has escrito nada en el usuario');

    return;
  }
  var clave = document.getElementById('clE').value;
  if (clave.length < 8) {
    swal("Faltan Numeros");
   // alert('La clave no es válida');
    return;
  }
  this.submit();
}
</script>



Lo que me molesta y creo que a varios, son ventanas emergentes ... en lo personal me molestan.. prefiero un div de error .. pero no un "alert"
Tampoco se pintarlo en la pagina html, este ultimo una vez que valida si pasa a primer post.php
Estoy viendo muchos videos de javascript... pero en los videos es como que siempre si olvidan de algo... :)

Gracias todos,
Saludos
ReB.
Título: Re: Al validar no me funciona el POST
Publicado por: Rebeca en Julio 07, 2021, 02:06:49 PM
Solucionado.!!
Saludos a todos.
rebe