离开页面js

/**格式utf-8*/
$.fn.enable_changed_form_confirm = function () {
    var _f = this;
    $(':text, :password, textarea', this).each(function() {
        $(this).attr('_value', $(this).val());
    });
$(':checkbox, :radio', this).each(function() {
    var _v = this.checked ? 'on' : 'off';
    $(this).attr('_value', _v);
});
    $('select', this).each(function() {
        $(this).attr('_value', this.options[this.selectedIndex].value);
    });
    window.onbeforeunload = function() {
        if(is_form_changed(_f)) {
            return "页面数据还未保存!";
        }
    }
}
function is_form_changed(f) {
    var changed = false;
    $(':text, :password, textarea', f).each(function() {
        var _v = $(this).attr('_value');
        if(typeof(_v) == 'undefined')   _v = '';
        if(_v != $(this).val()) changed = true;
    });

    $(':checkbox, :radio', f).each(function() {
        var _v = this.checked ? 'on' : 'off';
        if(_v != $(this).attr('_value')) changed = true;
    });

    $('select', f).each(function() {
        var _v = $(this).attr('_value');
        if(typeof(_v) == 'undefined')   _v = '';
        if(_v != this.options[this.selectedIndex].value) changed = true;
    });
    return changed;
}



/**使用方式
$(function() {
    $('form').enable_changed_form_confirm();
});
*
* form 提交前 window.onbeforeunload = null;
*/

你可能感兴趣的:(F#)