Можно ли иметь несколько полей ввода в вашей форме ajax?
Если да, то как насчет:
<form class="lift:form.ajax">
<div class="lift:StreamIn">
<input type="text" name="path" />
<input type="text" name="user" />
<input type="text" name="level" />
<input type="text" name="room" />
<input type="hidden" name="hidden" />
</div>
</form>
Обновлен:
object StreamIn {
case class StreamItem(user: String, path: String, level: String, room: String)
def render = {
var path= ""
var user= ""
var level= ""
var room= ""
def process(): JsCmd= {
val message= StreamItem(user, path, level, room)
StreamServer ! message
}
"name=path" #> SHtml.onSubmit(path= _ ) &
"name=user" #> SHtml.onSubmit(user= _ ) &
"name=level" #> SHtml.onSubmit(level= _ ) &
"name=room" #> SHtml.onSubmit(room= _) &
"name=hidden" #> SHtml.hidden(process)
}
}
И изменить низкий приоритет для:
override def lowPriority = {
case StreamItem(userIn, pathIn, levelIn, roomIn) => {
streams :+= StreamItem(userIn, pathIn, levelIn, roomIn);
updateListeners()
}
}
Я пропустил несколько}, но я надеюсь, что вы поняли, вы можете пропустить некоторые поля, такие как комната и уровень, если у вас есть они доступны, вы можете получить к ним доступ, используя RequestVar.
Вы можете больше читать о формах ajax в Просто поднять книгу
Надеюсь, это поможет