用第一个文本框的输入自动填充第二个文本框。就像如果我选择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