ユーザーが送信ボタンをクリックするか、アップロードするファイルを選択するかに関係なく、同じフォームを送信する必要があります。また、ユーザーが保存せずに移動したいかどうかを確認する警告も必要です。
http://jsfiddle.net/fuW2j/を参照してください
送信ボタンをクリックすると、beforeunload
イベントのバインドが解除されます。
ファイルのアップロードでもこれを実現するにはどうすればよいですか?
ユーザーが送信ボタンをクリックするか、アップロードするファイルを選択するかに関係なく、同じフォームを送信する必要があります。また、ユーザーが保存せずに移動したいかどうかを確認する警告も必要です。
http://jsfiddle.net/fuW2j/を参照してください
送信ボタンをクリックすると、beforeunload
イベントのバインドが解除されます。
ファイルのアップロードでもこれを実現するにはどうすればよいですか?
インラインの純粋な JavaScript の代わりに、jQuery でもファイルの変更を処理します。
$('input[type="file"]').change(function() {
$(this).parents("form").eq(0).trigger("submit");
});
そして、これだけを持っています:
<input type="file"/>
$('input').change(...) を使用するとうまくいくようです: http://jsfiddle.net/fuW2j/8/
(function() {
$(window).bind('beforeunload', function() {
return 'Your changes have not been saved!';
});
$('input').change(function() {
//$(window).unbind('beforeunload');
$(this).closest('form').submit();
});
$('form').submit(function() {
$(window).unbind('beforeunload');
});
})(jQuery);