我有一个简单的yesod形式:
aYesodForm :: Form Text
aYesodForm = renderDivs $ id
<$> areq hiddenField "" Nothing
大致生成:
<input type="hidden" id="h2" name="f2" value="">
我想从javascript中填写它:
document.getElementById('h2').value="foo"
但是将'h2'硬编码到.julius文件中是不好的做法,因为它是自动生成的并且可能会发生变化。
runFormPost的返回类型不会返回它生成的字段ID,而是插入到.julius文件中。
在javascript中填写yesod生成的表单字段的最佳方法是什么?
答案 0 :(得分:3)
使用FieldSettings参数生成表单时,您应该能够创建自己的ID。 FieldSettings数据类型可在此处找到:http://hackage.haskell.org/packages/archive/yesod-form/1.3.0/doc/html/Yesod-Form-Types.html
像这样(未经测试):
<$> areq hiddenField (FieldSettings (SomeMessage "") Nothing (Just "myId") Nothing []) Nothing