Les cuento lo siguiente tengo un formulario donde el primer campo se llama NIT, cuando el usuario digita el numero, mediante JS se hace una consulta mysql y si encuentra el registro regresa los resultados y automaticamente rellena los otros dos imputs nombre y direccion.
El codigo que tengo funciona bien, solo que en ves de traerme el dato de nombre al imput nombre, me arrastra al input tanto el nombre como la direccion y asi pasa tambien en el imput de direccion, arrastra el dato del nombre y direccion, como no se ada de JS acudo a ustedes para que me ayuden por favor a verificar donde tengo el error.
dejo los codigos para ver si me pueden ayudar, de antemano gracias.
formulario.html
Código:
Y este es el services.php<html lang="en"> <head> <meta charset="utf-8"> <title>JavaScript Ajax POST</title> </head> <body> <form id="myForm"> <label>RUT:</label> <div><input type="text" id="nit" name="n_nit"></div> <br> <label>NOMBRE:</label> <div><input type="text" id="nombre" name="nombre"></div> <br> <label>direccion:</label> <div><input type="text" id="dir" name="dir"></div> </form> <script> document.getElementById("nit").onchange = function(){alerta()}; function alerta() { // Creando el objeto para hacer el request var request = new XMLHttpRequest(); // Objeto PHP que consultaremos request.open("POST", "services.php"); // Definiendo el listener request.onreadystatechange = function() { // Revision si fue completada la peticion y si fue exitosa if(this.readyState === 4 && this.status === 200) { // Ingresando la respuesta obtenida del PHP document.getElementById("nombre").value = this.responseText; document.getElementById("dir").value = this.responseText; } }; // Recogiendo la data del HTML var myForm = document.getElementById("myForm"); var formData = new FormData(myForm); // Enviando la data al PHP request.send(formData); } </script> </body> </html>
Código PHP:
<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
$NIT = htmlspecialchars(trim($_POST["n_nit"]));
// Codigo para buscar en tu base de datos acá
require 'conexion.php';
$sqlsi = "SELECT * FROM gcs WHERE n_nit = '$NIT'";
$resultado = $mysqli->query($sqlsi);
$dato = $resultado->fetch_assoc();
$nombre = $dato['n_est'];
echo $nombre;
$dir = $dato['d_est'];
echo $dir;
} else {
echo "<p>No se encontro el nombre en la DB!!</p>";
}
?>