[SOLUCIONADO] Al validar no me funciona el POST

Iniciado por Rebeca, Junio 29, 2021, 05:13:46 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Junio 29, 2021, 05:13:46 PM Ultima modificación: Julio 07, 2021, 02:44:05 PM por AXCESS
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
<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


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

Hola Rebe como andas?
Tenes el archivo PrimerPost.php?

Hola, reemplaza "$form.submit();" por "e.currentTarget.submit();" y nos cuentas.

Saludos.
- No tienes permitido ver los links. Registrarse o Entrar a mi cuenta - No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Hola Disculpen  la demora al contestar, ...

el archivo .primerpost.php es:
Código: php

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
<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.