填写/保存Web应用程序中的表单时的可用性问题

时间:2009-02-27 17:17:25

标签: web-applications usability

我开发了一个在抵押贷款公司内部使用的Web应用程序。我们一直遇到问题,人们在与客户交谈时填写表格,然后在点击保存之前点击屏幕,从而丢失他们的数据(他们当然可以点击Back,但他们从未想到这一点)。

我们用户的第一个“解决方案”是要求我们在每次更改字段后自动保存数据。即使忽略明显的可伸缩性问题,在我看来,这完全违背了地球上几乎所有其他Web应用程序的惯例,其中您在提交表单时保存(像GMail这样的总Ajax应用程序不计算,如他们是一个完整的“野兽”。我错了吗?或者(再次忽略可扩展性)你会认为这是一种合理的方法吗?

继续,我们的实际解决方案是弹出旧的“你确定要浏览这个页面吗?”用户导航离开脏表单时的对话框。现在我们开始抱怨对话框的结构方式。大多数应用程序说“你想保存更改”,所以点击是或确定是一个好的,安全的选择。但是使用导航对话框,点击OK是不安全的非保存选项。当然,我们的用户不会阅读对话框,他们只是点击确定,然后热潮,他们就会失去他们的变化。

我对更改此对话框犹豫不决,因为(a)对话框是标准的,由浏览器生成,(b)我甚至不确定如何更改对话框,以及(c)它已经存在了几个月人们(包括已经弄明白的非白痴)必须重新学习他们的行为。

您认为这里最好的路线是什么?

5 个答案:

答案 0 :(得分:2)

如何保存客户端,例如在Cookie中并提供一个按钮,该按钮将使用上次保存的值填充表单?

答案 1 :(得分:1)

我想说使用AJAX自动保存表单 - 无论是在计时器上,还是在更改字段时。

你提到了该解决方案的可扩展性,但你也说它是一个内部应用程序,这让我觉得在这种情况下可扩展性可能不是那么大的问题。

答案 2 :(得分:1)

为什么不看看当你开始回答一个问题时StackOverflow会做什么而不提交它然后试着徘徊。我认为UI在这里完成的方式很好。

Are you sure you want to navigate away from this page?
You have started writing an answer.
Press OK to continue, or Cancel to stay on the current page.

如果您的用户不读取对话框弹出窗口并且他们说好,我可能会考虑第二次询问。

Your valuable edits will be LOST. 
Are you sure you want to navigate away from this page without saving?
Press OK to continue, or Cancel to stay on the current page.

对于那些无法学习新工作方式的用户,我恐怕没有解决方案。

答案 3 :(得分:0)

我会去保存任何元素的onblur,或者整个形式是散焦(onblur)。您可以在卸载时弹出对话框以自动保存表单(甚至在显示对话框之前)。只需附加onunload事件即可保存。

答案 4 :(得分:0)

  

我对更改此对话框犹豫不决,因为(a)对话框是标准的,由浏览器生成,(b)我甚至不确定如何更改对话框

(b)的确,你不能。

关于唯一的解决方法我可以想到没有全部-AJAX *是有一个on [before]上传,使用window.confirm()询问自己的问题,如果按下OK,则推送数据保存使用从事件处理程序返回之前的同步XMLHttpRequest。

*:并不是说总的AJAX是一种糟糕的方式,但要让整个应用程序以这种方式工作可能需要付出很多努力。