使用ajax基于组合框值填充文本框

时间:2014-10-06 06:42:43

标签: php sql ajax

我非常需要你的帮助。 我似乎无法在代码中找到错误。

案例是,我试图根据我的组合框值填充我的文本框字段,并在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 &nbsp&nbsp&nbsp: <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>';

}

?>

如果你可以帮助我,那真是太棒了谢谢你!

3 个答案:

答案 0 :(得分:0)

检查一下。全局变量应该是大写的。

$gadd = $_POST['strs'];

答案 1 :(得分:0)

首先,确保使用适当的全局变量格式$gadd = $_POST['strs'];

其次,检查您的查询是否正常,请尝试此操作

$sql=("Select distinct dadd1 from ostore where strnm = '$gadd'");

答案 2 :(得分:0)

最可能的是,因为你错过了期权中的价值。 使用此:

echo " <option value='$x'> $x</option>" ;

而不是:

echo " <option> $x</option>" ;

如果仍然不起作用,就像在检查查询是否正常之前所说的那样。 您可以通过选项“Inspect element”和转到“Network”选项卡在chrome中执行此操作。您可以看到通过ajax和返回数据发送的内容。