Я пытаюсь получить данные из текстового поля и поиск в моей базе данных и показать результат под текстовым полем - PullRequest
0 голосов
/ 04 октября 2018

<!----- 
getCedula.php 
Here I get the data from the script and start the search and send the result
---------------------------- - -->
<?php
require("conexion.php");

$cedula=$_REQUEST["cedula"];
//$cedula="0922615646";
echo $cedula;
$query="SELECT * FROM clientes WHERE cedula=".$cedula."";
$result = mysqli_query($con,$query);
while (($fila = mysqli_fetch_array($result)) != NULL) {
    echo ''.$fila["cedula"].' '.$fila["nombres"].'';
}
// Liberar resultados
mysqli_free_result($result);

// Cerrar la conexión
mysqli_close($con);
?>

function gocedula(Text){  

                        var form_data = {
                                is_ajax: 1,
                                cedula: val(Text)
                        };

                        $.ajax({
                                type: "POST",
                                url: "getCedula.php",
                                data: form_data,
                                success: function(response)
                                {
                                    $('.actualizar-formulario').html(response).fadeIn();
                                }
                        });


             
}
            </script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!--
In the textbox with the id coger-cedula I put the numbers that i want to search and send them to getCedula.php
Somehow it does nothing
-->
<form>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Cédula</label>
<div class="col-sm-10">
<input id="coger-cedula" type="text" class="form-control rounded" name="cedula" placeholder="Cédula" maxlength="10"
onchange="gocedula($(this).val());" onkeyup="gocedula($(this).val());" onpaste="gocedula($(this).val());" oninput="gocedula($(this).val());">
</div>
</div>
<div class="actualizar-formulario">
</div>
</form>

Javascript не получает данные из текстового поля.Если я ставлю и предупреждаю, я вижу, что данные проходят через функцию, но они не отправляются в ajax "form_data".Я попытался добавить его, потому что он работает в форме с тегом выбора.Предполагается, что каждый раз, когда кто-то что-то печатает в текстовом поле, функция javascript должна отправлять его в «getCedula.php» и просматривать его в базе данных, поэтому, если он что-то найдет, он покажет результат.

1 Ответ

0 голосов
/ 04 октября 2018

У вас есть ошибка в JS код!Почему вы используете val (текст) ???В JavaScript нет такой функции.Может быть, вы смешали с $ ('.class_name') .val () ???Есть рабочий вариант.

<!DOCTYPE html>
<html>
<head>
	<title>Ansver!</title>
</head>
<body>
	<form>
		<div class="form-group row">
			<label class="col-sm-2 col-form-label">Form</label>
			<div class="col-sm-10">
				<input id="coger-cedula" type="text" class="form-control rounded" name="cedula" placeholder="text" maxlength="10" onchange="gocedula($(this).val());" onkeyup="gocedula($(this).val());" onpaste="gocedula($(this).val());" oninput="gocedula($(this).val());">
			</div>
		</div>
		<div class="actualizar-formulario">
		</div>
	</form>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
	<script>
	    function gocedula(text) {	
			var form_data = {
				is_ajax: 1,
				cedula: text
			};

			$.ajax({
				type: "POST",
				url: "/ajax.php",
				data: form_data,
				success: function(response) {
					$('.actualizar-formulario').html(response).fadeIn();
				}
			});
		}
	</script>
</body>
</html>

ajax.php

<?php
$cedula=$_REQUEST["cedula"];
echo $cedula;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...