我正在尝试验证文本,我使用alert()让用户知道文本何时无效。我唯一的问题是,至少对我来说FF4,警报没有阻止他们做后退和前进按钮这样的事情,所以如果文本无效,他们仍然可以按回来,它不会经过验证。
是否有办法发出警报,以便在清除警报之前无法对浏览器执行任何操作?
答案 0 :(得分:6)
您可以绑定到window.onbeforeunload并让用户以“正确”的方式行事,直到他们做对了。
然而,有些东西告诉我你需要修复你的工作流程,而不是试图绕过用户做他们想做的事情(程序员总是失败)。
答案 1 :(得分:1)
不,不应该。曾经有过真正的模态警报,但它们像疯了一样被滥用。与无URL弹出窗口相同,等等。我们摆脱它们是件好事。
在任何情况下,作为Web用户,我希望后退按钮始终是安全的,不会使应用程序处于不一致状态。这可能是一种更好的方法
答案 2 :(得分:1)
我无法真正想到任何对验证以防止任何其他功能如此重要的事情而且你永远无法在客户端真正实现这一点,如果你真的需要那么你应该在服务器端设置一个变量,该用户的数据库允许将其称为user_preventaction,并假设您在页面加载时将其设置为TRUE,直到您想要的输入被验证并设置回FALSE为止。然后,用户尝试访问的任何页面和preventaction仍为TRUE,它将呈现一个页面,强制他们验证您认为非常重要的内容,以便用户甚至可以决定返回。
答案 3 :(得分:0)
即使您可以替换浏览器的警告框,该功能仍然内置于浏览器中,因此我认为您无法做到。
最好考虑其他形式的错误显示。