2013-07-04 97 views
0

我有以下簡單的形式:形式PHP和AJAX請求

enter image description here

這裏是我的窗體後面代碼:

<form action="javascript:void(0);" method="post"> 
<fieldset> 
    <legend>ROOM EQUIPMENT</legend> 

    <div class="inline_inputs"> 
     <div class="input_box"> 
      <input type="checkbox" name="equipment" value="computer" id="computer"> 
      <label for="computer">Computer</label> 
     </div><!-- .input_box --> 

     <div class="input_box"> 
      <input type="checkbox" name="equipment" value="projector" id="projector"> 
      <label for="projector">Projector</label> 
     </div><!-- .input_box --> 

     <div class="input_box"> 
      <input type="checkbox" name="equipment" value="whiteboard" id="whiteboard"> 
      <label for="whiteboard">Whiteboard</label> 
     </div><!-- .input_box --> 

     <div class="input_box"> 
      <input type="checkbox" name="equipment" value="visualiser" id="visualiser"> 
      <label for="visualiser">Visualiser</label> 
     </div><!-- .input_box --> 

     <div class="input_box"> 
      <input type="checkbox" name="equipment" value="desk" id="desk"> 
      <label for="desk">Desk</label> 
     </div><!-- .input_box --> 
    </div> 
</fieldset> 

<div class="buttons"> 
    <input type="submit" class="reg_button" value="GET ROOMS" /> 
</div><!-- .buttons --> 

最後這裏是如何我我在表單所在的同一頁面上發出AJAX請求:

<script> 
$('form').submit(function(){ 
    var str = $(this).serialize(); 
    $.ajax({ 
     url: "userLogic.php", 
     cache: false 
    }).done(function(html) { 
     $("#rooms_wrap").append(html); 
    }); 
}); 

我對PHP相當陌生,我遇到了表單提交問題。當我做出選擇時,我的選擇不會發送到userLogic.php文件。我得到一個打印出:

對不起,你還沒有做出選擇。

這是從該userLogic.php文件,這是這裏面坐的PHP代碼來:

<?php 
include("connect.php"); 

$items = array_key_exists('equipment', $_POST) ? $_POST['equipment'] : ''; 

if(!empty($items)) 
{ 
    if ($_POST["equipment"] == "computer") { 
     echo "checked computer!"; 
    } else if($_POST["equipment"] == "projector") 
    { 
     echo "checked projector!"; 

     $sql = "SELECT room_name, day_avail, from_time, to_time, equip_name 
     FROM rooms 
     JOIN equipment ON (equipment.room_id = rooms.room_id) 
     JOIN room_availability ON (room_availability.room_id = rooms.room_id) 
     WHERE equip_name='Projector' 
     GROUP BY day_avail"; 

     $myData = mysql_query($sql,$conn) or die(mysql_error()); 

    } else if($_POST["equipment"] == "whiteboard") 
    { 
     echo "checked whiteboard!"; 
    } else if($_POST["equipment"] == "visualiser") 
    { 
     echo "checked visualiser!"; 
    } else if($_POST["equipment"] == "desk") 
    { 
     echo "checked desk!"; 
    } 
} else { 
    echo "> Sorry, You have not made a selection."; 
} 

>

任何幫助將不勝感激?

回答

3

查找$.ajax的參數。你不是POST ing ...而且你也不是10數據。

type: "POST"

data: str

需要在:

$('form').submit(function(){ 
    var str = $(this).serialize(); 
    $.ajax({ 
     url: "userLogic.php", 
     cache: false, 
     type: "POST", 
     data: str 
    }).done(function(html) { 
     $("#rooms_wrap").append(html); 
    }); 
}); 
0

似乎沒有你可以發佈您的它data..do這樣。

$.ajax({ 
    url: "userLogic.php", 
    cache: false, 
    type: "POST", 
    data: str, 

    //rest of your code