2011-08-09 116 views
0

我有一個問題,當涉及到從jQuery到php.i檢索價值能夠得到我的選擇的價值,並將其傳遞給我的PHP,但我無法通過它回到了PHP。這裏是代碼...jQuery變量爲PHP變量,然後在查詢中使用它

<script> 
    $(document).ready(function() 
    { 
     $("select#months").change(function(event) 
     { 
     var m=$(this).val(); 
      $.ajax({ 
       type: 'POST', 
      url: "monthly_CRD.php", 
      data: {m: m}, 
       success: function(){alert("updated")} 
    }); 
     }); 
    }); 
</script> 


<div> 
<select id="months"> 
    <option value='00'>Month...</option> 
     <option value='01'>Jan</option> 
     <option value='02'>Feb</option> 
     <option value='03'>Mar</option> 
     <option value='04'>Apr</option> 
    </select> 
    <select id="years"> 
    <?php 
    for($yr=10; $yr<=$year; $yr++) 
{ 
    echo "<option value='".$yr."'>".$years[$yr]."</option>"; 
} 
?> 
    </select> 
</div> 
<?php 
if (isset($_POST['m'])) 
{ 
     $m = $_POST['m']; 
     echo $m; 
} else {echo "fail";} 

?> 

它繼續返回失敗,這意味着isset不工作。

+1

是否在另一個文件中檢查POST變量的PHP部分?或者這是monthly_CRD.php? –

+0

他們在同一個文件 – shobe089

回答

0

如果你的意思是在頁面加載,它返回fail,那是因爲網頁加載$_POST陣列可能是空的。

如果你想知道你的AJAX帖子返回的是什麼,你需要你的success函數接受一個參數(如data),jQuery將填充你的帖子的回覆。 然後在函數體中,可以將它寫入DOM或錯誤控制檯。

+0

成功函數根本不工作 – shobe089

+0

所有這些答案的組合。肯定添加引號「m」這是JSON語法正確。這個函數的作用就像是一個錯誤:function(msg){// stuff stuff} –

+0

error function not working.so我猜這裏有$ .ajax – shobe089

1

變化data: {m: m}data: {"m":m}

既然你是在尋找$_POST['m']你需要定義你的JSON關鍵。目前您需要查看$_POST['03']如果您選擇Mar

+0

我將如何在JSON上定義它? – shobe089

+0

對不起,當我看到一個JavaScript對象時,總是會想到JSON。只需使用'{「m」:m}'並注意帶引號的「m」。 – Maverick

+0

仍然無法正常工作。 :( – shobe089

0

如果您有一個id到一個元素,那麼只需id就可以選擇。試試這個

$(document).ready(function() 
    { 
     $("#months").change(function(event) 
     { 
      $.ajax({ 
      type: 'post', 
      url: "monthly_CRD.php", 
      data: { m: $(this).val()}, 
      success: function(){ 
       alert("updated") 
      } 
      }); 
     }); 
    }); 
+0

仍然不工作 – shobe089

0
$(document).ready(function() 
    { 
    $("#months").change(function(event) 
    { 
     $.ajax({ 
     type: 'post', 
     url: "monthly_CRD.php", 
     data: '{ "m": "' + $(this).val() + '"}', 
     success: function(msg){ 
      alert(msg) 
     }, 
     error: function(msg) { 
      alert("An error happened: " +msg); 
     } 
     }); 
    }); 

});

用戶提示使用鉻工具來破壞成功或錯誤並檢查meesage屬性的值。

+0

發生錯誤:[objectXMLHttpRequest] – shobe089

+0

您需要在aler上設置一個斷點t()的錯誤函數並查看msg對象。 PHP會收到一些消息,希望能夠告訴你這個問題。另請嘗試上述數據的修改版本:參數。 –

+0

什麼也沒有發生。 – shobe089

相關問題