2013-03-03 89 views
0

我有一个包含一个文本框,一个Firefox扩展:
XUL:如何保留文本框的值?

<textbox id="exclude-text" flex="1" rows="10" multiline="true" style="min-width: 25em;" wrap="off" value="0" persist="value"/> 

用户输入在文本框中输入一些文字。我需要这段文字才能在会话中坚持不懈。
我发现this有关“持久属性”的信息,但在我的情况下它不起作用。
有什么办法可以使其工作或任何简单的解决方法?
谢谢!

回答

2

persist属性只能存储属性 - 文本字段的value属性在输入文本时不会改变,只有value属性。据我所知,唯一的解决办法是与value财产手动保持value属性同步,这样的事情:

<textbox id="exclude-text" value="0" persist="value" 
oninput="this.setAttribute('value', this.value);document.persist(this, 'value')"/> 

调用document.persist()是必要的不幸,改变属性手动通常不会触发持久性。

供参考:这是bug 111486,一个XUL限制在2001年首次

+0

嗨,弗拉基米尔注意!哇,它的作品!谢谢你这样一个完整的答案。我已经用“持久性”属性放弃了我的期望,并使用首选项系统编码,但您的解决方案更加优雅。一个更好,更简单的替代偏好,尤其是当你不需要它们时。 – GreenBear 2013-03-04 08:09:22