● jQueryでフォームの入力途中で画面遷移しようとするとアラートを出す例
● フォーム例
<form action="test.php" name="MYNAME">
<input type="text" name="input1">
<textarea name="input2"></textarea>
</form>
● JavaScript
$(function(){
var form_change_flg = false;
$(window).on('beforeunload', function() {
if (form_change_flg) {
return "入力画面を閉じようとしています。入力中の情報がありますがよろしいですか?";
}
});
//フォームの内容が変更されたらフラグを立てる
$('form[name=MYNAME] input[name=title1]').change(function() {
form_change_flg = true;
});
$('form[name=MYNAME] textarea[name=input2]').change(function() {
form_change_flg = true;
});
// フォーム送信時はアラートOFF
$('form[name=MYNAME]').submit(function(){
form_change_flg = false;
});
});