我的 Mac 上有一个帐户数据库,在单击删除按钮后使用 HTML、Javascript 和 PHP 删除帐户。它在 FireFox 中每次都有效,在 Safari 中每次都失败(失败意味着删除请求被完全忽略)。
本质上,这就是我的代码正在做的事情......
- 表单内的按钮
onclick
调用一个 js 函数verifyDelete()
,要求我验证我选择删除 - 接下来,
onsubmit
from同一个表单调用一个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
?>