我的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