我对以下代码有一种奇怪的行为:
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链接。
为什么?
答案 0 :(得分:2)
我认为这是因为一旦你编辑了textarea,浏览器就会考虑textarea的“value”属性,而不是textarea中的HTML内容。
所以为了工作,你应该:
function update(txt, _)
{
Dom.set_value(#text, txt)
Dom.set_value(#data, txt)
}