1

ユーザーがアクションを続行するかどうかを確認するための基本的な JavaScript 確認ダイアログがあります。ユーザーが [OK] または [キャンセル] をクリックするだけで、ダイアログは正しく機能します。ただし、ユーザーが [キャンセル] をクリックしてからダイアログを再度トリガーし、[OK] をクリックすると、フォームは送信されません。

以下にコードを含めました。ここで行っているときにこれを処理するより良い方法はありますか?

$("#myButton").click(function (event) {
    var result = confirm("Are you sure?");
    if (result) {
        return true;
    } else {
        return false;
    }
});

event.preventDefaultの代わりにも試してみましたがreturn false、同じ結果が表示されることに注意してください。

4

2 に答える 2

2

今、私はあなたが達成しようとしていることを得るかもしれません。ボタンをクリックする代わりに、イベントをフォーム送信ハンドラーにバインドするだけです。これは、ユーザーがキーボードなどを使用してフォームを送信している場合にもトリガーされます。

<form id="wohoo" action="/somewhere">
    <input />
    <input type="submit" value="send me"/>
</form>​

$("#wohoo").submit(function () {
    var result = confirm("Are you sure?");

    return result;
});​

http://jsfiddle.net/2tSbJ/

于 2013-01-04T14:49:22.227 に答える
2

フォームの送信を確認しようとしている場合は、代わりにこれを試してください

$("form").submit(function () {
    return confirm("Are you sure?");
});
于 2013-01-04T14:45:55.650 に答える