2012-04-22 81 views
2

我有下面的代碼一個奇怪的現象:OPA:DOM元素更新的怪異行爲

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" } 
    ] 
) 

當我短聲的鏈接「更改文本1」或「改變文本2」,該文本在更新兩個textareas,但只要我編輯其中一個textareas的值,更新失敗時,我clik在鏈接上。

爲什麼?

回答

2

我認爲這是因爲一旦你編輯了textarea,瀏覽器會考慮textarea的「value」屬性,而不是textarea中的HTML內容。

所以爲了工作,你應該:

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

這是working.Thanks – user1350072 2012-04-26 09:27:07

+0

@ user1350072你應該接受的答案,幫助你。 – 2012-04-27 14:28:26