我急需你的帮助。我似乎找不到我的代码中有什么错误。
情况是,我试图根据我的combobox值填充我的文本框字段,它在sql数据库中连接。我在网上尝试了一些代码,然后我发现了一个似乎准确的代码,但我似乎无法在文本框中显示结果。
这是我的HTML代码:
<?php
echo"Concept Store:";
echo "<select width='100' id='strs' name='strs' >";
echo "<option></option>";
while($row=sqlsrv_fetch_array($stmt))
{
$x= $row['strnm'];
echo " <option> $x</option>" ;
}
echo "</select>";
?>
Address    : <input type="text" id="add" name="add" size="27" /><br><br>
这是AJAX:
<script type="text/javascript">
$(document).ready(function(){
$('#strs').change(function(){
$.post("gadd.php",{strs:$(this.val() )},function(result){
$("#add").val(result);
});
});
});
</script>
这是我的"gadd.php"
<?php
session_start();
include ('sqlconn.php');
$gadd=$_post['strs'];
//$t1= mysql_real_escape_string($t1);
$sql="Select distinct dadd1 from ostore where strnm='".$gadd."' ";
$stmt = sqlsrv_query($conn,$sql);
//echo "<option></option>";
while ($row = sqlsrv_fetch_array($stmt))
{
// $type2=$row['dadd1'];
echo $row['dadd1'];
//echo '<option value ="'.$type2.'">'.$type2.'</option>';
}
?>
如果你能帮助我,那将是非常棒的,谢谢!
检查一下。全局变量应该是大写的。
$gadd = $_POST['strs'];
首先,确保全局变量$gadd = $_POST['strs'];
使用正确的格式
第二,检查你的查询是否有效,试试这个
$sql=("Select distinct dadd1 from ostore where strnm = '$gadd'");
很可能是因为您在选项中缺少值。使用此:
echo " <option value='$x'> $x</option>" ;
而不是这个:
echo " <option> $x</option>" ;
如果仍然不起作用,就像之前所说的那样,检查查询是否起作用。您可以在chrome中通过选项"Inspect element"和转到"Network"选项卡来实现这一点。您可以看到通过ajax发送的内容和返回的数据。