ユーザーがフォームを送信しようとしたときにポップアップする確認メッセージを追加したいと思います。私は次のことを思いつきましたが、これは私にはハックのように見えます。
$('#someform').submit(function () {
var form = $(this);
//a hack so that this handler does not fire again, see below
if (form.attr('data-confirm') == 'disabled') {
return true;
}
showConfirmPopup({
message: "Are you sure?",
success: function () {
form.attr('data-confirm', 'disabled');
form.submit();
hideConfirmPopup();
}
});
return false;
})
});
したがって、ユーザーがフォームを送信すると、このハンドラーはイベントをキャッチし、ポップアップを表示してフォームの送信を防止します ( を返すことによりfalse
)。ユーザーが確認すると、成功ハンドラーはすべてフォーム送信メソッドになり、ハンドラーが再び起動しますが、今回は戻りtrue
、フォームが送信されます。
data-confirm
これは、属性を書き込まずに達成できますか?