サンプルに基づいたフォームがhttp://simply.liftweb.net/index-4.2.html#toc-Section-4.2にあります。クリックするたびにテキストエリアを追加するボタンがページに表示される方法があるかどうかは疑問でしたその後、リフトコードでそれを文字列の配列として取得します。リフトのフォームにクライアント側のテキストエリアを動的に追加する
私は何を描いていますが、このようなものです:
<form class="lift:OnSubmit?form=post">
Name: <input name="name"><br>
Age: <input name="age" value="0"><br>
<span id="somecomments"></span>
<input type="button" onclick="$('#somecomments').append($('<textarea cols=80 rows=10 name=comments>'))" value="Add Comment"/>
<input type="submit" value="Submit">
</form>
//in scala:
object OnSubmit {
def render = {
var name = ""
var age = 0
var comments = List("")
def process() {
S.notice("Name: "+name)
S.notice("Age: "+age)
S.notice(comments)
S.redirectTo("/")
}
}
"name=name" #> SHtml.onSubmit(name = _) &
"name=age" #> SHtml.onSubmit(s => asInt(s).foreach(age = _)) &
"name=comments" #> SHtml.onSubmit(comments = _) &
"type=submit" #> SHtml.onSubmitUnit(process)
}
}
しかし、私はコメント欄にはので、私は「名前=コメント」でリストに割り当てることができない文字列であることをコンパイルエラーを取得します#> SHtml.onSubmit(comments = _)
このコードを動作させる最も良い方法は何ですか?
これを行う方法を理解しましたか?私は "正しい方法"を探しています。同じことをやって、それを行うための非ハックリなリフトのような方法を見つけ出すのに苦労しています。 –