我有一个HTML表单,当我填写一个邮政编码时,我希望城市字段自动更新到属于该邮政编码的城市。
这是我的表格:
<form method="post" action="">
<input type="text" name="zipcode" id="zipcode">
<input type="text" name="city" id="city">
</form>
这是我的ajax:
$('#zipcode').keyup(function () {
var el = $(this);
if (el.val().length == 4) {
$.ajax({
url: 'get_city.php',
cache: false,
type: "GET",
data: "zipcode=" + el.val(),
success: function (data) {
$('#city').val(data);
}
})
}
});
这是PHP
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('testbox_new', $db);
$sql = 'select * from cities where zipcode = "'.$_GET['zipcode'].'"';
$result = mysql_query($sql);
while ($row = mysql_fetch_array($sql)) {
return $row['city_name'];
}
有谁知道为什么这不起作用?
Thx:)
答案 0 :(得分:3)
您将返回找到的值,而不是回显它。
尝试
echo $row['city_name'];
而不是
return $row['city_name'];
答案 1 :(得分:1)
发送你的ajax的data
是错误的。试试这个。
$.ajax({
url: 'get_city.php',
cache: false,
type: "GET",
data: {"zipcode": el.val()},
success: function(data) {
$('#city').val(data);
}
});
同样echo
你的php文件中的值。因为返回不会给你ajax的响应
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('testbox_new', $db);
$sql = 'select * from cities where zipcode = "'.$_GET['zipcode'].'"';
$result = mysql_query($sql);
while ($row = mysql_fetch_array($sql)) {
echo $row['city_name'];
}