表单提交上的jQuery事件

时间:2013-09-08 13:48:40

标签: jquery forms form-submit onchange unbind

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

请参阅http://jsfiddle.net/fuW2j/

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

我怎样才能在文件上传中实现这一点?

3 个答案:

答案 0 :(得分:2)

DEMO

<强> HTML

<input type="file"/>

<强> JS

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

.change()

答案 1 :(得分:0)

使用jQuery处理文件更改,而不是内联纯JavaScript:

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

只有这个:

<input type="file"/>

Updated fiddle

答案 2 :(得分: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);