我有一个文本框,我希望它在离开页面时显示未提交更改的提醒,除非您单击提交按钮。 这很好用,除非它按下提交按钮时仍会提醒你,我真的不知道如何修复它。
我有2个文件,我的Set.js用于执行BBcode的操作,以及我的script.js
的script.js
$(document).ready(function() {
var saveClicked = false;
$(window).bind('beforeunload', function() {
if(y != $("#markItUp").val()) {
if(!saveClicked) {
return 'You have unsaved changes!';
}
}
});
});
Set.js
{
name: 'Save',
className:"miu-save",
call: function() {
$('form#edit').submit();
saveClicked = true;
}
},
答案 0 :(得分:2)
更改此
{
name: 'Save',
className:"miu-save",
call: function() {
$('form#edit').submit();
saveClicked = true;
}
},
到
{
name: 'Save',
className:"miu-save",
call: function() {
saveClicked = true; // true is called first here if you notice and then submit
$('form#edit').submit();
}
},
并且这也是必要的
var saveClicked = false;
$(document).ready(function(){
在document.ready函数
之外声明saveClicked var答案 1 :(得分:1)
将saveClicked
放在document.ready
之外。这样它将是全局的,然后只有一个可以将其值设置为true
或false
。
所以你的脚本应该是:
var saveClicked = false;
$(document).ready(function(){
$(window).bind('beforeunload', function(){
if(y != $("#markItUp").val()){
if(!saveClicked){
return 'You have unsaved changes!';
}}
});
});
答案 2 :(得分:0)
我不确定这会起作用,但也许你可以先做
saveClicked = true;
和只有执行
$('form#edit').submit();
可以做到这一点。