私は持っている
<a href="url" onclick="var msg = confirm('Confirm?'); submit(msg, event);">Click me</a>
私がやりたいことは、確認ボックスの結果 (true/false) を取得し、それを送信ボタンに渡し、false の場合は href 呼び出しを強制終了することです。
開発環境で動作していますが、これをクロス ブラウザー シナリオに読み込むと、2 番目の呼び出しが機能しません。
function submit(msg, evt) {
if(msg == true) {
$.ajax({
type:"POST",
data:{answer:'Correct'},
url:'https://myurl/p'
});
}
else { evt.preventDefault(); return false; }
}
渡された URL は単なる URL であり、(本番環境では) データはありません。この正確なコードは、私の環境では問題なく動作しますが、クロス ブラウザーのシナリオでは失敗します。確認ボックスを削除すると、すべてが完全に機能します。
確認ボックスのキャンセル時の preventDefault 呼び出しに関連しているように感じます。その preventDefault は、同じリンクでの次の呼び出しを無効にしますか?