opa:dom元素更新的奇怪行为

时间:2012-04-22 20:56:41

标签: dom opa

我对以下代码有一种奇怪的行为:

function update(txt, _)
{
    #text = <>{txt}</>
    #data = <>{txt}</>
}

command = <a onclick={update("test1", _)}> change text1 </a> <+>
      <a onclick={update("test2", _)}> change text2 </a>    


content = <textarea style="width:30%;" rows=1 id=#text > filename </textarea>
    <textarea style="width:100%;" rows=30 id=#data > This is a text area </textarea> 



Server.start(
   Server.http,
   [
     {page: function() {command <+> content}, title: "test" }
   ]
)

当我登录链接“更改text1”或“更改text2”时,文本会在两个textareas中更新,但是当我编辑其中一个textareas的值时,更新失败,当我clik on the链接。

为什么?

1 个答案:

答案 0 :(得分:2)

我认为这是因为一旦你编辑了textarea,浏览器就会考虑textarea的“value”属性,而不是textarea中的HTML内容。

所以为了工作,你应该:

function update(txt, _)
{
    Dom.set_value(#text, txt)
    Dom.set_value(#data, txt)
}