自动保存文本框内容

时间:2011-09-26 21:36:30

标签: javascript html user-interface

我有一个文本框,用户可以输入一些文本。文本框所在的区域可以根据用户的操作重新加载不同的HTML,我希望文本框能够记住"用户回来时输入的内容。

问题始于这样一个事实:用户可以通过许多不同的方式离开文本框 - 他可以将许多不同的HTML段加载到我的操作区域,每个HTML段都删除文本框。

有没有办法让我在卸载时普遍保存文本框内容?文本框是否有等效的onUnload()事件?

我可以通过两种方式来解决我的问题:

  1. 设置文本框看门狗功能,用于在用户键入任何内容时更新存储在内存中的文本。
  2. 向每个重新加载操作区域的函数添加saveText()调用。
  3. 这些都没有特别吸引人。有更优雅的方式吗?

    谢谢,

1 个答案:

答案 0 :(得分:1)

onchange正是您所寻找的。当用户退出文本框时,会触发change事件。

onchange是比onblurfocusout更好的选择,因为blurfocusout也会在文本字段的内容未更改时触发

一个基本的例子:

var textarea = document.getElementById("myTextfield");
textarea.onchange = function(ev){
    call_function_that_saves(this.value);
}

非嵌入元素的unload事件不存在。考虑当这样的事件处理程序存在时会发生什么,并且一个巨大的页面卸载..