/**格式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;
*/
$.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;
*/