2014-10-17 103 views
3

用第一個文本框的輸入自動填充第二個文本框。就像如果我選擇Jane作爲名字,我希望第二個文本框從數據庫中檢索姓,並自動用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:'';刪除名稱; SELECT * FROM names WHERE firstName ='' – extols 2014-10-17 16:39:12

+0

我還是新來的,必須要弄清楚如何改寫那個以獲得更好的安全性謝謝 – Donny 2014-10-17 16:46:48

回答

1

的是要求實際發送(您可以檢查網絡標籤)?你能提醒返回的數據嗎?基本上是更有幫助的,我需要的確切位置的過程中出現故障,快速瀏覽,嘗試建立你的數據結構更喜歡它的更多信息:

data: { "firstName": firstName } 
+0

它還沒有被插入。它沒有獲得警報返回數據。我輸入簡而沒有任何反應。當在名字文本框上輸入Jane時,它應該自動在第二個文本框中填寫姓氏Doe – Donny 2014-10-17 16:42:43

+1

@Donny然後,問題可能發生在您的腳本中或發送到您的腳本中。你可以做'$ print_r($ _ REQUEST);'在腳本中嗎?響應會告訴我們,如果數據正在發送 – Typhomism 2014-10-17 16:44:40

+0

是否我會把它放在腳本中。我對這個嘗試去學習的新手很感興趣。 – Donny 2014-10-17 16:48:15

相關問題