【发布时间】:2019-11-20 07:03:15
【问题描述】:
我的表单中有一个选择下拉菜单和一个文本字段。因此,每当我在下拉列表中选择一个值时,我都尝试使用 $.ajax,文本字段将根据下拉列表中的选定值显示输出。但我总是从 ff.php 得到一个错误的未定义变量。我试图确定原因,我发现我在 ff.php 中没有得到任何 POST 值。有什么解决方案吗?提前致谢。
这是我在 prs.php 中的代码
<script src="https://code.jquery.com/jquery-3.2.1.min.js" type="text/javascript"></script>
<script>
function getState(val) {
$.ajax({
type: "POST",
url: "ff.php",
data:'productid='+val,
success: function(data){
$("#brandss").val(data);
}
});
}
</script>
<td><select name="drpcode" onchange="getState(this.value)" class="form-control name_list"><?php $drp = mysqli_query($conn,"SELECT productcode FROM products"); while ($dp = mysqli_fetch_array($drp)) {
?><option value="<?php echo $dp['productid']; ?>"><?php echo $dp['productcode']; ?></option><?php } ?></select></td>
<td><input type="text" id="brandss" name="brand" placeholder="Brand" class="form-control name_list" required value=""></td>
这是我在 ff.php 中的代码
<?php
require_once("conn.php");
$id = $_POST['productid'];
$query = mysqli_query($conn,"SELECT productbrand FROM products WHERE productid = '$id' ");
while($rs = mysqli_fetch_array($query,MYSQLI_BOTH)) {
$brand = $rs['productbrand'];
}
echo $brand;
?>
【问题讨论】:
-
您的 ajax 请求有响应吗?它工作正常吗?另外,你能用
var_dump($brand);检查变量$brand吗? -
你应该删除 ff.php 中的 echo $id
-
您的代码易受 SQL 注入攻击。您应该使用准备好的语句。
标签: php jquery html mysql ajax