0

无论用户单击提交按钮还是选择要上传的文件,我都需要提交相同的表单。我还需要一个警告来确认用户是否想在不保存的情况下离开。

http://jsfiddle.net/fuW2j/

单击提交按钮时,该beforeunload事件未绑定。

我怎样才能使文件上传也发生这种情况?

4

3 回答 3

2

演示

HTML

<input type="file"/>

js

$('input:file').change(function () {
    $(window).unbind('beforeunload');
    this.form.submit();
});

。改变()

于 2013-09-08T13:51:20.043 回答
0

代替内联纯 JavaScript,也可以使用 jQuery 处理文件更改:

$('input[type="file"]').change(function() {
    $(this).parents("form").eq(0).trigger("submit");
});

并且只有这个:

<input type="file"/>

更新了小提琴

于 2013-09-08T13:53:06.617 回答
0

使用 $('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);
于 2013-09-08T13:54:53.713 回答