Firefox和IE的AJAX请求问题(AJAX request issues with Firefox and IE)

编程入门 行业动态 更新时间:2024-10-24 20:23:29
Firefox和IE的AJAX请求问题(AJAX request issues with Firefox and IE)

我有一个复选框,每次复选框的状态(选中/取消选中)时都会发送一个AJAX请求。 我正在测试Chrome中的所有内容,一切正常。

但是,当我使用Firefox或IE时,AJAX请求不会更改SQL Server中的值。 我有点困惑为什么它不起作用,而且我对JS和JQuery相当新,所以任何帮助都会非常感激。

这是我使用AJAX调用PHP页面来更改复选框值的函数。

//This function handles the clicking of checkboxes in the list //It sends an ajax POST message to a separate php file that handles the database updating function checkboxClicked(checkboxType, ticketNumber){ $.ajax({ type: "POST", url: 'updateCheckbox.php', dataType: 'json', async: 'true', data: {checkboxType: checkboxType, ticketNumber: ticketNumber}, success: function(result, status){ if (status == "success"){ console.log("Status: " + status + ", Result: " + result); } } }); if(checkboxType == "Received"){ window.location.reload(); } }

以下是PHP中显示复选框状态的行:

<?php //This loop populates the ticket display using the records in the database while($recordSet->EOF == false){ $ticketNumber = $recordSet->Fields['TicketNumber']; $dateSubmitted = $recordSet->Fields['DateSubmitted']; $department = $recordSet->Fields['Department']; $courseNo = $recordSet->Fields['CourseNumber']; $instructorName = $recordSet->Fields['InstructorName']; $received = ($recordSet->Fields['Received']) ? "checked" : "unchecked"; $sendReminder = ($recordSet->Fields['SendReminder']) ? "checked" : "unchecked"; $email = $recordSet->Fields['Email']; $CC = $recordSet->Fields['CC']; $strHTML = "<tr><td>$dateSubmitted</td>\n"; $strHTML .= "<td>$department</td>\n"; $strHTML .= "<td>$courseNo</td>\n"; $strHTML .= "<td style='word-break: break-all'>$instructorName</td>\n"; $strHTML .= "<td align='center'> <input type='checkbox' id='received' ".$received." class='receivedCheckbox' onclick='checkboxClicked(\"Received\", ".$ticketNumber.")'/></td>\n"; $strHTML .= "<td align='center'> <input type='checkbox' id='sendReminder' ".$sendReminder." class='sendReminderCheckbox' onchange='checkboxClicked(\"SendReminder\", ".$ticketNumber.")' data-email='".$email."'/></td>\n"; $strHTML .= "<td style='word-break: break-all;' align='center'> <a id='checkReceived' href='#' onClick='checkReceived(\"$received\", \"$email\")'>".$email."</a></td>"; $strHTML .= "<td align='center'> <button onclick=\"window.open('urlhere', '_self')\">Edit</button>\n"; $strHTML .= "<td align='center'> <button onclick=\"window.open('urlhere')\">Print</button> </td>\n"; $strHTML .= "</tr>\n"; echo $strHTML; $recordSet->MoveNext; } ?>

如果你们需要更多信息,请告诉我。 谢谢!

I have a checkbox that sends an AJAX request everytime the state of the checkbox is changed (checked/unchecked). I was testing everything in Chrome, and it all works fine.

However, it is when I use Firefox or IE, the AJAX request does not change the value in the SQL server. I'm a little confused of why it's not working, and I'm fairly new to JS and JQuery, so any help would be greatly appreciated.

Here is the function where I use AJAX to call a PHP page to change the checkbox value.

//This function handles the clicking of checkboxes in the list //It sends an ajax POST message to a separate php file that handles the database updating function checkboxClicked(checkboxType, ticketNumber){ $.ajax({ type: "POST", url: 'updateCheckbox.php', dataType: 'json', async: 'true', data: {checkboxType: checkboxType, ticketNumber: ticketNumber}, success: function(result, status){ if (status == "success"){ console.log("Status: " + status + ", Result: " + result); } } }); if(checkboxType == "Received"){ window.location.reload(); } }

Here is the line in PHP where it shows the checkbox status:

<?php //This loop populates the ticket display using the records in the database while($recordSet->EOF == false){ $ticketNumber = $recordSet->Fields['TicketNumber']; $dateSubmitted = $recordSet->Fields['DateSubmitted']; $department = $recordSet->Fields['Department']; $courseNo = $recordSet->Fields['CourseNumber']; $instructorName = $recordSet->Fields['InstructorName']; $received = ($recordSet->Fields['Received']) ? "checked" : "unchecked"; $sendReminder = ($recordSet->Fields['SendReminder']) ? "checked" : "unchecked"; $email = $recordSet->Fields['Email']; $CC = $recordSet->Fields['CC']; $strHTML = "<tr><td>$dateSubmitted</td>\n"; $strHTML .= "<td>$department</td>\n"; $strHTML .= "<td>$courseNo</td>\n"; $strHTML .= "<td style='word-break: break-all'>$instructorName</td>\n"; $strHTML .= "<td align='center'> <input type='checkbox' id='received' ".$received." class='receivedCheckbox' onclick='checkboxClicked(\"Received\", ".$ticketNumber.")'/></td>\n"; $strHTML .= "<td align='center'> <input type='checkbox' id='sendReminder' ".$sendReminder." class='sendReminderCheckbox' onchange='checkboxClicked(\"SendReminder\", ".$ticketNumber.")' data-email='".$email."'/></td>\n"; $strHTML .= "<td style='word-break: break-all;' align='center'> <a id='checkReceived' href='#' onClick='checkReceived(\"$received\", \"$email\")'>".$email."</a></td>"; $strHTML .= "<td align='center'> <button onclick=\"window.open('urlhere', '_self')\">Edit</button>\n"; $strHTML .= "<td align='center'> <button onclick=\"window.open('urlhere')\">Print</button> </td>\n"; $strHTML .= "</tr>\n"; echo $strHTML; $recordSet->MoveNext; } ?>

If you guys need more information, just let me know. Thank you!

最满意答案

也许你应该尝试:

$received = ($recordSet->Fields['Received']) ? "checked='checked' " : "checked='' "; $sendReminder = ($recordSet->Fields['SendReminder']) ? "checked='checked' " : "checked='' ";

May be you should try :

$received = ($recordSet->Fields['Received']) ? "checked='checked' " : "checked='' "; $sendReminder = ($recordSet->Fields['SendReminder']) ? "checked='checked' " : "checked='' ";

更多推荐

本文发布于:2023-07-31 02:21:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1340560.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:AJAX   Firefox   issues   request

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!