2015-10-22 69 views
-3

檢查我用下面的代碼如果複選框在PHP

order.php

 <script type="text/javascript"> 
     function processForm() { 
     $.ajax({ 
      type: 'POST', 
      url: 'ajax.php', 
      data: { checked_box : $('input:checkbox:checked').val()}, 

      success: function(data) { 
       $('#results').html(data); 
      } 
     }); 
     } 
     </script> 

     <input type="checkbox" name="checked_box" value="1" onclick="processForm()"> 

而且ajax.php

<?php 
include "config.php"; 
$checkbox = intval($_POST['checked_box']); 
echo $checkbox; 
if($checkbox == 1){ 
    $Query="SELECT * FROM `order` ORDER BY sl_no DESC"; 
}else{ 
    $Query="SELECT * FROM `order` ORDER BY sl_no ASC";  
} 
$result=mysql_query($Query); 
echo $Query; 
while($row = mysql_fetch_object($result)) { 
?> 

它的工作原理很好,但是當我選中,則顯示錯誤

注意:未定義的索引:位於C:\ xampp \ htdocs \ website \ admin \ ajax.php中的checked_box在線24

如何避免此錯誤???

+1

是我嗎o什麼,它爲什麼低估了一切? – MuthaFury

+0

可以請您提供完整的代碼ajax.php – deepakb

回答

0

這不是一個錯誤,而是一個通知。如果您嘗試訪問未初始化的變量,您會得到這樣的通知。只需使用適當的初始值進行初始化即可。

您代碼中棘手的部分是,您認爲您將獲得複選框的值,因爲它包含在窗體中。但它發生複選框不發送,除非他們已經被檢查。

0

而不是intval($_POST['checked_box']);使用isset($_POST['checked_box']);確保該值存在。

之後,如果您仍然需要該值,則可以使用intval

+0

感謝@Sean爲您的快速回復,其工作 – Sourabh23

+0

@ Sourabh23考慮接受答案。以下是http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work然後返回到此處,並使用勾號/複選標記執行相同操作,直至變爲綠色。這告訴社區,找到了解決方案。否則,其他人可能會認爲這個問題仍然存在,並且可能需要發佈(更多)答案。 –

-1

這都是因爲只有選中的複選框包含在POST請求中。所以,你需要檢查你的checked_box鍵的存在是爲了弄清楚複選框,設置與否:

if(isset($_POST['checked_box']) { 
    .. set 
} else { 
    .. not set 
} 
0

我有一個選擇下拉框

<select name="status" id="status" onchange="changeStatus()"> 
    <option value="step_1">step_1</option> 
    <option value="step_2">step_2</option> 
    <option value="step_3">step_3</option> 
    <option value="step_4">step_4</option> 
</select> 

而且我的javascript

<script> 
     function changeStatus() { 
      $('select.changeStatus').change(function(){ 
       $.ajax({ 
         type: 'POST', 
         url: 'update_status.php', 
         data: {changeStatus: $('select.changeStatus').val()}, 
         dataType: 'html' 
       }); 
      }); 
     }); 
    </script> 

所以我想從選擇下拉框中選擇的值發送到php文件(update_status.php)

+0

如果在此代碼中有任何錯誤,請幫助我 – Sourabh23