PHPページには、1つのMySQLテーブルのデータを削除するリンクがあります。 「削除」リンクをクリックすると、確認ボックスが表示され、「はい、削除しますか?」というメッセージが表示され、「はい」と「いいえ」の2つのボタンが表示されます。 。はいをクリックすると、MySQLテーブルのデータを削除したいので、いいえをクリックしても何も起こりません。PHP:yes/no確認ダイアログを表示
答えて
あなたはプロンプトを表示するためにJavaScriptを使用することができます。ここで、この発見
からExample
<script>
function confirmDelete(delUrl) {
if (confirm("Are you sure you want to delete")) {
document.location = delUrl;
}
}
</script>
<a href="javascript:confirmDelete('delete.page?id=1')">Delete</a>
<a href="delete.page?id=1" onclick="return confirm('Are you sure you want to delete?')">Delete</a>
が警告別の方法:このJavaScriptは停止しませんレコードが削除されないようにする最後のURLへavigate - 彼らのブラウザでdelete.page?id=1
php.for例GTKDialogs内対話システムを使用することになり、これを行うのPHPの道: http://www.kksou.com/php-gtk2/articles/setup-a-dialog-box---Part-2---simple-yes-no-dialog.php javacript方法は、おそらく少し簡単ですしかし、javascriptがオフになっているときは覚えておいてください。(JavaScriptを有効にしてからこれを追加すると!?) これはtsvanharenのようなonclickハンドラを使うか、不快なポップアップの代わりに。私はそれのためのプロトタイプ(したがって、$()タグおよびshow()/非表示を())を使用
<a onClick="$('deletefromtable').show();"></a>
<div id="deletefromtable" style="display:none;">
Do you really want to do this?<br/>
<a href="deleteit.php">Yes</a>|<a onClick="$('deletefromtable').hide();">No</a>
</div>
。プロトタイプなしでも簡単に変更することができます:
<a onClick='document.getElementById("deletefromtable").style.display = "block";' href="#">click here to delete</a>
<div id="deletefromtable" style="display:none;">
Do you really want to do this?<br/>
<a href="deleteit.php">Yes</a>|<a onClick='document.getElementById("deletefromtable").style.display = "none";' href="#">No</a>
</div>
また、これはjavascriptなしでは機能しませんが、オプションはほとんどありません。
phpgtkがサーバにインストールされていても(それは、グラフィカルインタフェースを必要とするため、Linuxを実行しているWebサーバにはインストールされません)、ブラウザー内でも、ブラウザ上でもなく、ユーザーのマシン:サーバーから、クライアント上のGTKウィンドウを開くことはできません。 –
このようなことを確認するには、常にフォーム/投稿ボタンを使用する必要があります。決してJavascriptに頼らないでください。理由を理解するためにthisを読んでください!
確認ダイアログは、あなたのストーリーの問題とは関係ありません。確認ダイアログは、ユーザが偶然に削除ボタンをクリックしないようにするユーザビリティ機能です。あなたのリンクで、彼らは本当に愚かなことである認証のためのjavascriptを使用しました。 –
何かを削除する場合は、必ずPOSTを使用してGETしないでください。そうすればconfirm()を使うのは悪い考えです。あなたの状況では、jqModalのようなモーダルポップアップを使用し、ポップアップの中にyes/noボタンを含むフォームを表示します。
'confirm()'はあなたがPOSTを使用できないようにするにはどうしますか? –
通常は、リクエストメソッドが「GET」の場合は確認フォームを表示し、メソッドが「POST」でユーザーが「はい」オプションを選択した場合はデータを削除します。
次に、削除リンクがあるページに、AJAXを使用して確認ページを迂回してリンクに投稿するonclick関数を追加します(またはjQuery confirm pluginを使用します)。
擬似コードの考え方は次のとおりです。
deleteです。PHP:削除リンクと
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_POST['confirm'] == 'Yes') {
delete_record($_REQUEST['id']); // From GET or POST variables
}
redirect($_POST['referer']);
}
?>
<form action="delete.php" method="post">
Are you sure?
<input type="submit" name="confirm" value="Yes">
<input type="submit" name="confirm" value="No">
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>">
<input type="hidden" name="referer" value="<?php echo $_SERVER['HTTP_REFERER']; ?>">
</form>
ページ:
<script>
function confirmDelete(link) {
if (confirm("Are you sure?")) {
doAjax(link.href, "POST"); // doAjax needs to send the "confirm" field
}
return false;
}
</script>
<a href="delete.php?id=1234" onclick="return confirmDelete(this);">Delete record</a>
<input name="_delete_" type="submit" value="Delete" onclick="return confirm('Are you sure?')">
これはまだ簡単な答えですが、ありがたいです。 –
onclick="return confirm('Log Out?')? window.open('?user=logout','_self'): void(0);"
は、このスクリプトを行なったし、その後、私はあまりにも、インターネットをチェックしに行く取り払わ。
はい、これは古い脅威ですが、似たようなバージョンはないようですが、私は貢献すると思っていました。
最も簡単な&最も単純な方法は、要素またはフィールドを含むすべてのブラウザで機能します。
立体構造がNULL
またはキャンセルされた場合は、void(0)
と同じ、確認がTRUE
あるときに実行するために他のコマンドにwindow.open
を変更することができます。
私が見つけた最良の方法はここにあります。
HTMLコード
<a href="delete.cfm" onclick="return confirm('Are you sure you want to delete?');">Delete</a>
はこれが機能するためにあなたはjQueryとブートストラップを追加する必要がありHEADセクションに
$(document).ready(function() {
$('a[data-confirm]').click(function(ev) {
var href = $(this).attr('href');
if (!$('#dataConfirmModal').length) {
$('body').append('<div id="dataConfirmModal" class="modal" role="dialog" aria-labelledby="dataConfirmLabel" aria-hidden="true"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button><h3 id="dataConfirmLabel">Please Confirm</h3></div><div class="modal-body"></div><div class="modal-footer"><button class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button><a class="btn btn-primary" id="dataConfirmOK">OK</a></div></div>');
}
$('#dataConfirmModal').find('.modal-body').text($(this).attr('data-confirm'));
$('#dataConfirmOK').attr('href', href);
$('#dataConfirmModal').modal({show:true});
return false;
});
});
をTHISを追加します。
<input type="submit" name="submit" value="submit" onclick="return confirm('Are you sure?');"/>
ボタンでもこの操作を実行できます。
- 1. フラグメントの確認ダイアログを表示する
- 2. アプリウィジェットを作成する前に確認のダイアログを表示
- 3. 出力を表示する前に確認ダイアログを表示したい
- 4. SymfonyとTwig:確認ダイアログを表示する方法
- 5. 確認ダイアログ
- 6. botboox確認ダイアログが表示されない
- 7. ORMメソッドからの確認ダイアログの表示
- 8. Javascriptの確認ダイアログ
- 9. ファンシーボックスの確認ダイアログ
- 10. カピバラクロームヘッドレスの確認ダイアログ
- 11. jQuery UIダイアログ確認
- 12. onbeforeunloadの確認ダイアログ
- 13. 確認メッセージを表示
- 14. データベース内の行を削除する前に確認ダイアログを表示
- 15. Android SMSの確認ダイアログ
- 16. JavaScriptのクリックイベントの確認ダイアログ
- 17. 成功の確認ダイアログajax
- 18. 削除ボタンの確認ダイアログ
- 19. Aureliaダイアログの反復確認
- 20. asp.netのスイートアラート確認ダイアログ
- 21. 確認ダイアログ(警告)フォームが
- 22. ok/cancelで確認ダイアログ
- 23. クロムの確認ダイアログのアクセシビリティ
- 24. jQuery UI:ユーザーが確認またはキャンセルするダイアログを表示します。
- 25. 確認ダイアログが表示された後、適切な処置をとる
- 26. 確認ダイアログでOKの代わりにはい/いいえを表示
- 27. SWTファイル保存ダイアログ:上書き確認を表示する方法
- 28. jquery確認ダイアログを複数のフォームとサブミットボタンで表示する方法mvc
- 29. インストールパスをプログラムで変更し、セットアッププロジェクトの「インストールの確認」ダイアログで表示 - Visual Studio 2015
- 30. リチウム:表示確認ボックスリンクは
どこに問題がありますか? – Bombe
ヒント:ヘッダー