有人可以幫忙嗎?這是我的jQuery。場景是這樣的,我有一張桌子,每個按鈕上都有一個按鈕,如果你點擊那個按鈕,一個模式窗口會出現一個確認按鈕,並且是或不是。如果用戶點擊是(#confirm_cancel
),這將保存在數據庫中,然後顯示一個警告框,其中它告訴用戶更新成功。問題是這樣,它正確執行我的SQL並保存到數據庫,但我得到一個錯誤函數的警告框,說[object object]
。對象對象在運行SQL後通過AJAX/jQuery在警告框上返回
這是我的PHP:
<?php
include("php/openDB.php");
echo '<table border="2" id="tableGuestList">';
echo '<tr>';
echo '<td>Guest ID</td>';
echo '<td>Room No:</td>';
echo '<td>First Name</td>';
echo '<td>Last Name</td>';
echo '<td>Checkin</td> ';
echo '<td>checkout</td>';
echo '<td>Status</td>';
echo '</tr>';
$result = mysql_query("SELECT gi.guest_id, gi.fname, gi.lname, bk.checkin, bk.checkout, bk.transacstatus, bk.reserved_id "
."FROM tbl_guestinfo gi, tbl_bookings bk "
."where gi.guest_id = bk.guest_id "
."AND bk.transacstatus = 'booked'");
while ($rows = mysql_fetch_array($result, MYSQL_NUM)) {
$guest_id = $rows[0];
$fname = $rows[1];
$lname = $rows[2];
$checkin = $rows[3];
$checkout = $rows[4];
$transacstatus = $rows[5];
$reservedid = $rows[6];
echo '<tr id="'.$rows[0].'" class="bookedClass">';
echo '<td>'.$guest_id.'</td>';
echo '<td> room number kaara</td>';
echo '<td> '.$fname.'</td>';
echo '<td>'.$lname.'</td>';
echo '<td> '.$checkin.'</td>';
echo '<td>'.$checkout.'</td>';
echo '<td> '.$transacstatus.'</td>';
echo '<td style="display:none"> '.$reservedid.'</td>';
echo '<td> <input type = "submit" value = "Cancel Booking" name ="cancel_booking" /></td>';
echo '<td> <input type = "submit" value = "Check in" name ="check_in" /></td>';
//echo '<td> <input type = "submit" value = "Check Out" name ="Check_Out" /></td>';
echo '</tr>';
}
mysql_free_result($result);
echo '</table>';
include("php/closeDB.php");
?>
這是我的jQuery
$(document).ready(function(){
var selGuest;
$('#tableGuestList .bookedClass').click(function(){
selGuest = $(this).find("td").eq(7).text();
selGuest = parseInt(selGuest)
$('#confirmDialog').fadeIn('slow');
});
$('#confirm_cancel').click(function() {
var canceldata_json = {
'selGuest': selGuest,
};
$.ajax({
type: "POST",
data: canceldata_json,
url: "./php/cancelBooking.php",
success: function(msg) {
alert("guest information updated")
$('#confirmDialog').fadeOut('slow');
},
error: function(msg){
alert(msg)
}
});
});
$('#cancel_cancel').click(function() {
$('#confirmDialog').fadeOut('slow');
});
});
這裏是我的PHP代碼由AJAX
<?php
// get data
$selGuest = $_POST["selGuest"];
include("openDB.php");
$insertintoCanceled = "insert into tbl_canceled "
."reserved_id, `guest_id`,`checkin`, `checkout`, `type_id`, `numAdults`, `numChildren`, `transacstatus`, `amountDue`"
."("
."SELECT * FROM `tbl_bookings` where `reserved_id` =" .$selGuest
.")";
if(!mysql_query($insertintoCanceled, $con))//if it fails
{
die('Error: ' . mysql_error() . "\n");//show the mysql error
}
include("closeDB.php");
?>
但是,當我做到這一點,把它轉移到另一個點擊功能,它的工作。 $('#confirm_cancel')和$('#cancel_cancel')按鈕位於我在點擊$('#tableGuestList .bookedClass') – propaganja
$('#tableGuestList .bookedClass')後生成的模式窗口中。函數(){風險canceldata_json = { 'selGuest':selGuest, }; $就({ 類型: 「POST」, 數據:canceldata_json, URL: 「./php/cancelBooking.php」, 成功:函數(MSG){ 警報( 「更新顧客信息」) $( '#confirmDialog')淡出( '慢'); }, 錯誤:函數(MSG){ 警報(MSG) } ) }); – propaganja
這是我從螢火蟲中得到的。對象{readyState = 0,status = 0,statustext =「erro」}錯誤(一個空字符串) 實際上它只是在我的屏幕上閃爍。彈出提醒然後我甚至不點擊確定按鈕,它關閉...任何幫助球員 – propaganja