如何在刷新时触发beforeunload警告,而不是在提交

时间:2016-05-20 15:28:41

标签: javascript jquery page-refresh onbeforeunload

第1页包含动态表单,第2页是对提交数据的审核。我有以下限制:

    提交第1页时
  • 没有beforeunload警告;
  • 刷新第1页时
  • beforeunload警告;
  • 从第2页发出history.back()时没有重新加载第1页。

我尝试使用window.onbeforeunload$(window).unload()(第1页),但我似乎无法获得预期的结果。

这是否可能,或者这些约束肯定是矛盾的(我的意思是,对于合理数量的JS线......)?

更新

我删除了约束3,因为根据一些阅读它值得its own question

1 个答案:

答案 0 :(得分:1)

你应该能够对第1部分和第2部分使用类似的东西,但不确定你对第3部分的意思



"use strict";
var isSubmit = false
document.querySelector('button').addEventListener('click', e => {
  isSubmit = true
  window.location.reload()
})

window.onbeforeunload = e => {
  if (!isSubmit) {
    return "Are you sure you want to leave?"
  }
}

<button>Submit</button>
&#13;
&#13;
&#13;