我遇到了firefox网络浏览器的问题。我有一个表单,如果您编辑了其中一个现场Web浏览器,则会在离开之前警告您未保存的数据。表单提交按钮是一个例外。在谷歌Chrome中一切正常。不幸的是,Firefox并没有这样做。
我的脚本如何生成警告信息:
<script type="text/javascript">
var formSubmitting = false;
var setFormSubmitting = function() { formSubmitting = true; };
var _isDirty = false;
var setDirtyField = function() { _isDirty = true; }
window.onload = function() {
window.addEventListener("beforeunload", function (e) {
var confirmationMessage = 'Nepamirškite užpildyti užduoties žurnalo! ';
//confirmationMessage += 'If you leave before saving, your changes will be lost.';
if (formSubmitting || !_isDirty) {
return undefined;
}
else{
(e || window.event).returnValue = confirmationMessage; //Gecko + IE
return confirmationMessage; //Gecko + Webkit, Safari, Chrome etc.
}
});
};
</script>
表单提交有例外:
<form name="editFrm" action="?m=tasks&a=view&task_id=<?php echo $task_id; ?>" method="post"
onsubmit='javascript:updateEmailContacts();javascript:setFormSubmitting()'>
为什么firefox没有像谷歌浏览器那样工作的想法?