2011-08-29 139 views
1

我想在用户切换到另一页面时放弃表单中的更改时提醒用户。使用html'confirm'方法是否被认为是良好的做法?

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

谢谢!

+0

那么这是一个意见问题。我不介意为此目的的内置确认,尽管我会让实际消息比您的示例更有意义。 – nnnnnn

+0

我总是使用确认来达到这种目的。 – Zlatev

+0

谢谢你们。我决定这是一种意见,并投票结束我自己的问题:-) – Ben

回答

1

有两件这样的问题:

  1. 如果使用confirm()被认为是很好的做法。
  2. 如果这样可以防止用户离开页面。

判断第一部分的两个原则是:(1)永不丢弃用户输入和(2)不停止用户的流动。 confirm()对话框是模态的,这意味着它们阻止用户进入他们的轨道。他们被迫回答这个问题而没有继续前进。一般来说,这是不好的。如果你能以不阻止用户流量的方式来实现,那就更好了。 (例如,将输入存储在cookie中或服务器上,或者通过电子邮件向用户发送链接以稍后完成表单。)如果找不到其他方式,模式对话框可能会比丢失输入的数据更好。

对于第二部分,它取决于您的实施是否可行。我有一种感觉,它不会因为用户总是可以在地址栏中输入某些内容来摆脱页面。在离开页面之前提示用户的最可靠的方式是使用window对象的onbeforeunload事件并返回一个字符串。实施细节在Mozilla Developer Network

window.onbeforeunload

相关问题