我是新手,想要在我的项目中实施以下内容:
页面中有一个“删除”链接,当用户点击它时,会有一个确认文本“你确定要删除吗?”。如果用户单击“是”,它将进行AJAX调用以删除服务器端的内容,然后显示“操作完成”通知,3秒后,将重新加载页面。
如何在电梯中实施此功能?我搜索了很多,但找不到正确的例子。
我现在只能这样做:
SHtml.a( ()=>Confirm("are you sure to delete", ???), "delete" )
答案 0 :(得分:4)
最简单的方法是将SHtml.ajaxInvoke
与JsCmds.Confirm
结合使用。它将创建一个服务器端函数并返回一个带有functionId和JsCmd
的元组。所以,这样的事情应该做你想做的事情:
SHtml.a( () => {
JsCmds.Confirm("Are you sure you want to delete?", {
SHtml.ajaxInvoke(() => {
//Logic here to delete
S.notice("Operation complete")
JsCmds.After(3 seconds, JsCmds.Reload) //or whatever javascript response you want, e.g. JsCmds.Noop
})._2
})
}, "delete")
在上面 - 点击链接将触发确认。如果选择“确定”,则会向您的函数发出ajax调用并显示通知。您可以在需要SHtml
的任何JsCmd
项中使用它。
如果您想在超时后重定向页面,您可以编写一个客户端javascript函数来执行您需要的操作,并使用JsCmds.Run
来调用它。
答案 1 :(得分:0)
使用reactive-web:
confirm("Are you sure you want to do that?") {
case true =>
// handle yes, if so desired
case false =>
// handle no, if so desired
}
请参阅scaladocs:http://reactive-web.tk/reactive-web-api/#reactive.web.package