Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

157
Vistas
después de la validación de js y los datos de redir se pierden y no están disponibles para la validación de php

Hola, no puedo entender por qué no funciona. Tengo un formulario simple y quiero validar en el lado del cliente con una simple redirección xmlrequest a otra página, hacer allí la validación del servidor y trabajar con parámetros validados. todo en js vanila y php puro.

html:

 <form action="" novalidate="novalidate" autocomplete="off" id="name-group"> <div class="form-group"> <label for="number">*Number:</label> <input value="" type="text" name="number" id="number" class="form-control"> </div> <input type="submit" value="Submit" name="submit" id="submit" class="btn btn-primary"> </form>

validación js:

 document.getElementById("submit").addEventListener('click', function (event) { event.preventDefault(); let number = document.getElementById("number").value; let numberRegex = "^[0-9]$"; let errorMsg = ''; if (number.match(numberRegex)) { let xhr = new XMLHttpRequest(); let params = "number=" + number; xhr.open("POST", './uploadValidation.php',true) xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded') // xhr.onload = function () { // } xhr.send(encodeURI(params)); window.location.assign('./uploadValidation.php') } else { errorMsg = 'required number field'; } document.getElementById("errorMsg").innerHTML = errorMsg });

después de esto quiero redirigir a otra página y hacer la validación del servidor

 <?php //errors $errors = [ 'number' => '', ]; var_dump($_POST); //validation if (isset($_POST['submit'])) { $number = htmlentities(trim($_POST['number']), ENT_QUOTES, 'UTF-8'); echo true; //check for error in userName field if (!$number || mb_strlen($number) < 1) { $form_valid = false; $errors['number'] = '*required field'; } } ?>

y los datos se pierden. $_POST['number'] no está disponible. Por favor, ¿alguien puede explicarme por qué no funciona y cómo solucionarlo?

EDITAR: Quiero obtener información del usuario en la primera página y después de que js y la validación de php funcionen con la entrada en la segunda página. En mi caso, agregue dinámicamente el campo de entrada (la cantidad de campos = número de la primera entrada del usuario).

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda