php
  • sql
  • ajax
  • 2014-10-06 70 views 0 likes 
    0

    我非常需要您的帮助。 我似乎无法找到我的代码中有什么问题。使用ajax填充基于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 &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>'; 
    
    } 
    
    ?> 
    

    ,如果你能帮助我,真的真的很棒谢谢你!

    回答

    0

    检查它。全局变量应该是大写。

    $gadd = $_POST['strs']; 
    
    +0

    谢谢,但它仍然无法工作:( – user3060463 2014-10-06 06:50:47

    0

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

    其次,检查你的查询,如果是工作,试试这个

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

    0

    大多数problably那是因为你在选项中缺少值。 使用此:

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

    ,而不是这样的:

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

    如果仍然不能正常工作,就像如果查询工作检查之前有人说。 您可以通过选项“检查元素”在Chrome中执行该操作,然后转到“网络”选项卡。你可以看到通过ajax和返回数据发送了什么。

    相关问题