php
  • sql
  • ajax
  • 2014-10-06 72 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和返回數據發送了什麼。

    相關問題