我的Mac上有一個帳戶數據庫,使用HTML,Javascript & PHP在我單擊刪除按鈕後刪除一個帳戶。它每次都在FireFox中工作,並且每次都在Safari中失敗(失敗意味着刪除請求被完全忽略)。XMLHttpRequest適用於FireFox,不適用於Safari
從本質上講,這是我的代碼做什麼...
- 按鈕
onclick
表格內調用JS FUNCverifyDelete()
要我驗證自己的選擇刪除 - 接下來,
onsubmit
從相同的形式調用JS FUNCdelAccount()
- 最後,
delAccount()
使用XMLHttpRequest
調用PHP頁面刪除 帳戶
我想到了使用XMLHttpRequest
來看待AJAX。我並不需要AJAX使用的所有ReadyState,Response等,所以我只是使用了我需要的東西。按照我在delAccount()
函數中執行的操作是否合法?也許這就是爲什麼Safari會失敗?
任何幫助表示讚賞,這裏是我的代碼...
文件 - View.php
<?php
// some code
?>
<form method="get" onsubmit="return delAccount('<?php echo $acctNum; ?>')">
<input type="hidden" name="acctName" value="Blah」 />
<button onclick="return verifyDelete()" >Delete</button>
</form>
<?php
// some code
?>
文件 - common.js
function verifyDelete() {
var r=confirm("Are you sure you want to Delete this?\r\n\n" +
"A) 'Cancel' delete request\r\n" +
"B) 'OK', delete\r\n");
if (r == false) {
return false;
}
else {
return true;
}
}
function delAccount (acctNum) {
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
var xmlDelete = new XMLHttpRequest();
}
xmlDelete.open("GET", "delAcct.php?q=" + acctNum, true);
xmlDelete.send(null);
return false;
}
文件 - delAcct.php
<?php
// code to delete account
?>
爲什麼要使用一些像jQuery一樣的JavaScript庫?這些庫建立在記住這些crossbrowsers問題的同時,也使得您的javascript代碼易於編寫和管理.-- btw您是否在Safari瀏覽器中看到任何javascript錯誤?嘗試在delAccount方法中提醒acctNum,並參閱 – Kishore
我被告知,在學習jquery之前最好熟悉javascript。情況並非如此嗎? – JonDoeCA
我已經在整個地方使用過警報,並沒有發現任何它不應該做的事 - 包括遍歷'if'語句,所以我知道php被調用。 – JonDoeCA