编辑表单后离开本页面时做提示(jQuery版)

//编辑表单后离开本页面时做提示(jQuery版)

$.fn.enable_changed_form_confirm = function ( prompt ) {       
    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);       
    });       
           
    $(this).submit(function() {       
        window.onbeforeunload = null;       
    });       

     
    window.onbeforeunload = function() {       
     if(is_form_changed(_f)) {       
            return prompt;       
        }  
    }       
}     
     
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( "您确定不保存就离开页面吗?" );       
});

 

 

以上脚本引自网上高手所写,很好用!引用以上js之前需要引入jQuery脚本文件!

 

你可能感兴趣的:(jquery,F#,脚本)