2014-10-17 2 views
3

автозаполнение второго текстового поля с вводом первого текстового поля. Например, если я выбираю Джейн в качестве первого имени, я хочу, чтобы второе текстовое поле извлекало фамилию из базы данных и автоматически заполняло ее с помощью Doe. Я не получаю автоматический ввод во второе текстовое поле, не уверен, что я делаю неправильно.Автозаполнение второго текстового поля с первым вводом текстового поля

Вот код test.php

<?php 
 

 
?> 
 
<script src="jquery-1.11.1.min.js"></script> 
 
<script> 
 
$(document).ready(function(){ 
 
\t $("#firstName").change(function(){ 
 
\t \t var firstName=$(this).val(); 
 
\t \t if(firstName != ''){ 
 
\t \t \t  $.ajax({ 
 
           type:"post", 
 
           url:"insert_process.php", 
 
           data:"firstName="+firstName, 
 
\t \t \t \t \t \t \t datatype:"json", 
 
\t \t \t \t    success:function(data){ $("#lastname").val(data); 
 
\t \t \t \t \t \t \t  $('#ename').css("background-color","#B3CBD6" ) 
 
\t \t \t \t \t \t \t $('#ename').animate({backgroundColor: "#fff",}); 
 
\t \t \t \t \t \t \t } 
 
           
 
\t              }); 
 
\t \t } 
 
\t \t else{ 
 
\t \t \t $("#lastname").val(""); 
 
\t \t \t } 
 
\t \t }); 
 
\t }); 
 
</script> 
 
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<title>Systems Request </title> 
 

 
</head> 
 
<body> 
 

 
<div align="center"> 
 

 
<form action = "insert.php" method ="post" class="form" style="width: 285px; height: 192px"> 
 

 
<br><br>First Name<br> 
 
<input type="text" id="firstName" name="firstName"> 
 

 
<br>&nbsp;Last Name<br> 
 
<input type="text" id="lastname" name="lastname" ><br><br> 
 

 
<input type="submit" value= "Submit Name "><br> 
 

 
</form> 
 
</div> 
 
</body> 
 
</html>

, а затем здесь insert_proccess.php код

<?php 
 
header('Content-Type: application/json'); 
 
$host = "localhost"; 
 
$user = "root"; 
 
$db_name= "people"; 
 
$pass= "systems399"; 
 
$con = mysql_connect($host, $user, $pass); 
 
$db_conx=mysql_select_db("people", $con); 
 
$fname= $_POST["firstName"]; 
 
\t $sql="SELECT * FROM names WHERE firstName='$fname' "; \t 
 
\t \t $query= mysqli_query($db_conx, $sql); 
 
\t $row = mysqli_fetch_array($query2 MYSQLI_ASSOC); 
 
\t $rc \t = $row["lastname"]; 
 

 
echo json_encode ($rc); 
 
    
 
?>

+1

Я не совсем уверен, как решить эту проблему вы, однако, являетесь одним из советов, которые я прочитал бы на SQL-инъекции (например, http://php.net/manual/en/security.database.sql-injection.php). У вашего кода серьезные проблемы с безопасностью. Посмотрите, какой SQL был бы выполнен, если бы я ввел следующее в поле firstname: ''; УДАЛИТЬ ОТ ИМЕН; SELECT * FROM names WHERE firstName = '' – extols

+0

Я все еще новичок, чтобы понять, как переписать это, чтобы иметь лучшую безопасность. Спасибо – Donny

ответ

1

ли запрос на отправку (вы можете проверить вкладку в сети)? Можете ли вы предупредить возвращенные данные? В принципе, чтобы быть более полезным, мне нужно больше информации о том, где именно процесс происходит сбой, на быстрый взгляд, попытайтесь установить вашу структуру данных больше, как это:

data: { "firstName": firstName } 
+0

Он еще не вставлен. Он не получает предупреждающие данные о возврате. Я печатаю Джейн, и ничего не происходит. Он должен автоматически заполнить фамилию Doe во втором текстовом поле при вводе Jane в текстовое поле с первым именем. – Donny

+1

@Donny. Тогда проблема может быть либо в вашем скрипте, либо в ваших данных, отправляемых на ваш скрипт. вы можете сделать '$ print_r ($ _ REQUEST);' в вашем скрипте? ответ сообщит нам, будут ли данные отправляться – Typhomism

+0

, если бы я поместил это в скрипт. Я новичок в этом, пытаясь научиться, когда я иду. – Donny

Смежные вопросы