$(function(){
var a=document.getElementById('text_editor_textarea'),regEx=/^\s*$/,
updateOrig = function() {
var sc = $(a).data('sceditor');
if(sc){
sc.bind('keypress', sc.updateOriginal);
sc.blur(sc.updateOriginal);
}else {
setTimeout(updateOrig , 200);
}
};
updateOrig();
if(a.value !== "" && regEx.test(a.value) ){
window.onbeforeunload = function(){
return "You have a post waiting to be submitted";
};
}
});此代码应检查a中是否有数据,如果有,则应提示警报。它是有效的,除非即使文本区中没有数据,它仍然会被提示。我是不是做错了什么?
发布于 2013-07-23 07:04:01
只需在此if块中执行a.value !== ""而不是a.value !== null || a.value !== "":
if (a.value !== null || a.value !== "") {
window.onbeforeunload = function () {
return "You have a post waiting to be submitted";
};
}另外,将if和事件函数赋值翻转为:
window.onbeforeunload = function () {
if (a.value !== "") {
return "You have a post waiting to be submitted";
}
};我之前没有意识到这一点,但是只有在页面加载时才会调用你的消息,否则赋值就不会发生,因为当你第一次打开页面时,textarea将是空的。
https://stackoverflow.com/questions/17798765
复制相似问题