私が持っているページのコメントに関連付けられている削除ボタンがあります。削除ボタンをクリックすると、確認ダイアログボックスが表示され、本当にコメントを削除してもよいかどうかを確認するメッセージが表示されます。 [OK]をクリックすると関数が実行されてコメントが削除され、[キャンセル]をクリックすると関数が実行されず、ダイアログボックスが閉じます。
これは私のコードです:
onclick="confirm('Are you sure that you want to delete this comment?'); commentDelete(1);"
私の問題:キャンセルをクリックしても、削除機能は実行されます。私の推測では、キャンセルをクリックすると、JavaScriptが前に進み、関数が呼び出されるため、関数はまだ呼び出されています。どうすればこれを正しく達成できますか?これはおそらく単純な問題だと思います。助けてくれてありがとう!
onclick="if (confirm('Are you...?')) commentDelete(1); return false"
if
がありません。あなたのバージョンでは、最初に質問を受け取り、次にその回答に関係なくcommentDelete
を呼び出します。
function getConfirmation()
{
var retVal = confirm("Do you want to continue ?");
if (retVal == true)
{
alert("User wants to continue!");
return true;
}
else
{
alert("User does not want to continue!");
return false;
}
}
**
このコードを記述した後、次のコードでこの関数を呼び出すことができます
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
CommandName = "Edit" Text = "Edit" OnClientClick = "getConfirmation()">
confirm を扱っているのは、それがif
ステートメントの場合、ブール値のtrueまたはfalseを返すだけです。
if(confirm('foo')){ alert('bar'); }
function confirmCancel(){
var msj='Are you sure that you want to delete this comment?';
if (!confirm(msj)) {
return false;
} else {
window.location='backcables.php';
}
}
デフォルトのイベントを防ぐには、falseを返す必要があります。これは機能するはずです:
onclick="confirm('Are you sure that you want to delete this comment?'); commentDelete(1);return false;"
これは誰かを助けるかもしれません。
var result = confirm("Are you sure");
return !!result;