所以我用下面的代码创建一个表单,当你点击一个字段时,它确保来自数据库的最新数据在字段中,然后当你离开表单字段时它将文本区域保存回数据库。在display()函数中有很多其他字段已经在工作。然而,这是我使用的第一个数据库字段,它是一个列表(字符串),所以我试图找出如何处理这些。当我运行这个HTML时,看起来都是正确的,我甚至可以看到这些字段的事件。但是,使用display_lp生成的字段不会触发onclick或onblur事件。为什么有这个原因?事件处理程序不能正常工作
display_lp(path) = (
List.mapi(
x, characterlp -> textid = "#edit_content_lp_{x}"
divid = "#show_content_lp_{x}"
<div class="show_content" id={divid} onclick={_ -> edit_lp(path, x) }>
{x+1}:
<textarea class="edit_content" id={textid} cols="20" rows="1" onblur={_ -> save_lp(path,x) } >
{characterlp}
</textarea>
</div>
, /characters[path]/lifepaths)
)
display(path) = (
Resource.styled_page("{path}'s character sheet",["/resources/css.css"],
/* a bunch of other irrelevant html *?
<div class="show_content" id=#show_content_lp> Lifepaths: { display_lp(path) }
</div>
<a href="..">Back to Directory</a>
)
)
我看到了区别。确实从textid和divid的值中删除了#。任何想法为什么这样工作? – Chris
我不知道这是否是Opa或忽略事件处理程序的Web浏览器(要调查) – Fred