我有一个 Facelet 页面,其中包含一个表单,beforeunload
当它包含未保存的数据时应该显示一条消息。为此,我使用以下 JavaScript:
$(window).on('beforeunload', function(){
var val = document.getElementById("saveFormId:newInputId").value;
var flagVal = (val=='true');
if(flagVal)
return 'Are you sure you want to leave?';
});
在同一页面中,我有另一种更改语言环境的表单:
<h:form id="localeForm">
<p:selectOneButton value="#{localeBean.selectedLocale}"
valueChangeListener="#{localeBean.countryLocaleCodeChanged}"
onchange="submit()" style="height:1px;margin-top:7px;"
styleClass="ui-language-button">
<f:selectItems value="#{localeBean.languages}" />
</p:selectOneButton>
</h:form>
但是,这也会触发beforeunload
处理程序。我想忽略beforeunload
处理程序中上述表单的提交。我怎样才能做到这一点?