我有一个应用程序,当用户输入字段时,它会对他们输入的字段执行AJAX验证。这是使用字段上的onblur
触发器触发的。但是,我希望能够在用户实际离开页面时停止此触发。
我的输入字段类似于
<input type="text" onblur="checkIt(this.value);" id="name" />
其中checkIt函数只调用AJAX进程来验证输入。如果输入无效,则返回错误,该错误显示在页面上的DIV中。这一切都很有效,除非用户改变主意并决定离开页面,错误div仍会在导航之前显示。
所以在我的checkIt函数中,我想要一些如何能够说,
如果event = unload
页面没有显示错误并允许用户离开。
我正在使用Oracle APEX,因此可以使用javascript
或JQuery
来执行此操作
有什么想法吗?
答案 0 :(得分:2)
focusout
和blur
没有做我想要的事情 - 在页面卸载之前触发焦点元素的模糊事件。
使用此(工作)代码:
window.onbeforeunload = function(e){
$(document.activeElement).blur();
}
答案 1 :(得分:0)
尝试jquery focusout事件:检查此Documentation
<input id="test" type="text"><br>
<script>
$(document).ready(function(){
$( "#test" ).focusout(function() {
alert("Focus out");
}).blur(function() {
alert("Blur Event");
});
});
</script>