使用HTML'确认'方法是否被视为良好做法?

时间:2011-08-29 07:49:49

标签: javascript html

我想在用户切换到另一个页面时即将丢弃表单中的更改时发出警告。

if (!confirm("Are you sure")) return false;...这种消息被认为是好的做法吗? 我应该使用模态面板吗? (更多工作)

谢谢!

1 个答案:

答案 0 :(得分:1)

这个问题分为两部分:

  1. 如果使用confirm()被视为良好做法。
  2. 如果这样可以阻止用户离开页面。
  3. 判断第一部分的两个原则是:(1)永远不要丢弃用户输入;(2)不要停止用户的流程。 confirm()对话框是模态的,这意味着它们可以阻止用户跟踪。他们不得不继续回答这个问题。一般来说,这很糟糕。如果你能以一种不会阻止用户流动的方式来做,那就更好了。 (例如,将输入存储在cookie或服务器上,或通过电子邮件发送给用户的链接以便稍后完成表单。)如果找不到其他方法,则模式对话框可能比丢失输入的数据更好。 / p>

    对于第二部分,这取决于您的实施是否可行。我有一种感觉它不会,因为用户总是可以在地址栏中键入内容以远离您的页面。在离开页面之前提示用户而不管转义向量的最可靠方法是使用window对象的onbeforeunload事件并返回一个字符串。 Mozilla Developer Network上的实施细节。

    window.onbeforeunload