2011-04-11 44 views
5

我一直在努力处理一些让用户输入大量重复数据的表单。在这些情况下,它可以帮助用户访问表单历史记录(即,选择他们发送多个通知的人的姓名等)。这里的问题是,在大多数浏览器中,没有用户激发的事件发生在大量的文本从他们的历史记录。所以在一些其他帖子的帮助下,我决定使用setInterval来代替表单输入历史记录选择事件

我在找的东西是反馈,找到任何可能是坏主意的东西和什么使这个更好。

我有它的演示这里http://lab.atworkinthecloud.com/form-history-select/

+0

它似乎永远不会更新它的当前值变量,所以任何偏离第一个值的东西都被认为是“变化”。 – Blender 2011-04-11 23:31:33

+0

谢谢,这需要更多的工作。 – d3l3t3m3 2011-04-12 04:08:20

+0

我有同样的问题。但是,您的“setInterval”解决方案是我见过的唯一一个。 – 2011-06-17 19:25:54

回答

0

我相信你不应该立足您implemen浏览器行为(记住历史记录),这可能会或可能不会提供给用户。 如果你想设计一个有用的接口,你应该提供的访问历史记录自己,或使用的功能,如autocomlete

+0

我希望我不会被误解 - 这不是任何事情的“基础”。只需几行代码即可解决已确定的特定现有问题。 – d3l3t3m3 2011-04-12 04:08:00

0

因为你触发处理如此频繁,(我注意到,您还绑定propterychange事件)那么为什么不只是绑定propertychange,那也会这样做。

你根本不需要绑定所有这些事件。

我遇到了同样的问题,但我仍然喜欢有一种方式,只有在用户完成打字后触发hanlder。

+0

正如OP所述,即使在移动焦点后,单击表单历史记录中的项目时也不会触发“onchange”事件! – 2011-06-17 19:25:02