Mac にアカウント データベースがあり、HTML、Javascript、および PHP を使用して、削除ボタンをクリックした後にアカウントを削除します。FireFox では毎回機能し、Safari では毎回失敗します (失敗すると、削除要求は完全に無視されます)。
基本的に、これは私のコードが行っていることです...
- フォーム内のボタン
onclick
が js func を呼び出し、verifyDelete()
削除の選択を確認するように求めます - 次に、
onsubmit
同じフォームから js func を呼び出しますdelAccount()
- 最後に、
delAccount()
phpXMLHttpRequest
ページを呼び出してアカウントを削除します。
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
?>