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