SCALA Lift-AJAX形成多个值
我有以下表格:SCALA Lift-AJAX形成多个值,ajax,scala,lift,Ajax,Scala,Lift,我有以下表格: <form class="lift:form.ajax"> <input type="hidden" class="lift:StreamIn" id="path" value="PATH" /> <input type="submit" value="" /> </form> 我要寻找的是一种通过多个输入向StreamServer传递多个值的方法 因此,它们将从表单中传递,而不是静态字符串值“James”、“_1
<form class="lift:form.ajax">
<input type="hidden" class="lift:StreamIn" id="path" value="PATH" />
<input type="submit" value="" />
</form>
我要寻找的是一种通过多个输入向StreamServer传递多个值的方法
因此,它们将从表单中传递,而不是静态字符串值“James”、“_1”和“demo room”
提前感谢您的帮助,非常感谢:)在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>
并将低优先级更改为:
override def lowPriority = {
case StreamItem(userIn, pathIn, levelIn, roomIn) => {
streams :+= StreamItem(userIn, pathIn, levelIn, roomIn);
updateListeners()
}
}
我遗漏了一些}但我希望您能理解,您可以省略一些字段,如房间和标高,如果您有这些字段,您可以使用RequestVar访问它们
您可以在
希望能有所帮助谢谢你的帮助,现在已经走上正轨了。我已经完成了您提到的上述更改,但在编译时出现以下错误:“缺少扩展函数的参数类型”这会发生在每一行:“name=path”#>SHtml.onSubmit(path=>path=))等应该是“缺少‘expanded’函数的参数类型”ok,我更新了object StreamIn代码段以消除编译器错误,并编辑了html以添加隐藏字段感谢您的帮助,为什么我们需要隐藏输入?我的目标是隐藏表单值,例如path、room、level、user,并通过提交按钮提交表单。如果您使用常规表单,则不需要额外的隐藏字段,如果您使用ajax表单,jQuery不会将提交按钮发送到lift服务器,因此要使表单真正工作,您需要一个隐藏字段。
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()
}
}