偶発的な送信を防ぎ、ユーザーが入力したすべての情報を再確認するようにするために、本当に送信するかどうかを尋ねる別のボタンをポップアップさせて、フォームの送信を遅らせました...
残念ながら、ユーザーが [いいえ] をクリックし、後で [はい] ボタンを使用してフォームを送信すると、フォームが 2 回送信されます。ユーザーが以前に「いいえ」をクリックしたことがないときに初めて機能します...
私は小さなjsfiddle hereを用意しました。それが私のコードです:
$('#form').on('click','#submitbutton',function(e){
e.preventDefault()
$('#formchecker').show()
$('#doit').click(function(e2){
e2.preventDefault()
alert('I will submit as you say')
})
$('#dont').click(function(e2){
e2.preventDefault()
$('#formchecker').hide()
})
})
「はい」で送信する前に「いいえ」をクリックすると、複数の警告ボックスが表示されることがわかります。なぜそれがそのように振る舞うのか、誰かがヒントを得ましたか?