用第一個文本框的輸入自動填充第二個文本框。就像如果我選擇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> 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);
?>
我不完全知道如何解決這個問題不過,作爲一個建議我會閱讀SQL注入(例如http://php.net/manual/en/security.database.sql-injection.php)。你的代碼有嚴重的安全問題。考慮如果我要在名字框中輸入以下內容,將會執行什麼樣的SQL:'';刪除名稱; SELECT * FROM names WHERE firstName ='' – extols 2014-10-17 16:39:12
我還是新來的,必須要弄清楚如何改寫那個以獲得更好的安全性謝謝 – Donny 2014-10-17 16:46:48