使用javascript调用操作
对于PLAY框架来说是相当新的,并且由于我工作中的限制,我们使用的是1.2.5版本,而到目前为止,我能够通过表单提交使用常规流程完成从HTML到控制器的所有流程。我想从JavaScript函数调用Application.Action 虽然我有一个输入信息的表单,但可以单击另一个非提交按钮,在单独的页面上查看额外信息。我想通过“onClick”调用JavaScript函数,并在JavaScript函数内部调用“@Application.Action(一些参数…) 在调用操作之前,我需要获取特定输入字段中的内容 我试图通过播放“弹出窗口”来实现这一点,但这似乎不起作用,因为我无法传递参数 下面是我的片段: 在HTML文件中(扩展拥有所有javascript文件“include”的main.HTML) 当然,这是行不通的 有没有办法做到这一点 我必须为此创建路线吗 通过替换,我可以到达一个单独的页面使用javascript调用操作,javascript,html,playframework,Javascript,Html,Playframework,对于PLAY框架来说是相当新的,并且由于我工作中的限制,我们使用的是1.2.5版本,而到目前为止,我能够通过表单提交使用常规流程完成从HTML到控制器的所有流程。我想从JavaScript函数调用Application.Action 虽然我有一个输入信息的表单,但可以单击另一个非提交按钮,在单独的页面上查看额外信息。我想通过“onClick”调用JavaScript函数,并在JavaScript函数内部调用“@Application.Action(一些参数…) 在调用操作之前,我需要获取特定输入
window.location = "@{Application.moreInfo(inputField1, inputField2, inputField3)}";
与
只要我有路线
/goThere Application.goThere
GET /moreinfo/{foo}/{bar} Application.moreInfo
但是我想不出传递参数的方法,我试着像
/goThere/{inputField1}{inputField2}{inputField3} Application.goThere(inputField1...)
但是我想我也没有正确的语法
是否有方法调用Application.Action并从JavaScript函数向其传递参数/字段
非常感谢您的帮助内置模板标签正是您想要的
例如:
假设你有一条路线
/goThere Application.goThere
GET /moreinfo/{foo}/{bar} Application.moreInfo
您可以使用jsAction
的结果来获取包含所需参数的正确URL:
var fieldOne = "I'm a Javascript variable";
var fieldTwo = "Really? Me too";
var moreInfoAction = #{jsAction @Application.moreInfo(":foo", ":bar") /};
// and since it looks like you want to set the current location
// to your freshly obtained URL:
window.location.href = moreInfoAction({"foo": fieldOne, "bar": fieldTwo});
现在还不清楚你在问什么。这一切都可以用jQuery轻松完成。你为什么不想用它?澄清:在使用表单控制器流程时,您有。。。我希望能够单击另一个按钮-onClick=myFunction()以显示不同的页面,然后从新页面{Application.doStuff(someParam)}回调该操作-因此如何调用应用程序。JavaScript函数的操作Bondye,我希望在单击非提交按钮时调用不同的页面。这里会有一个提交按钮和一个更多信息按钮,当点击更多信息按钮时,你会转到一个javascript函数,并用所有参数回调Application.Action
var fieldOne = "I'm a Javascript variable";
var fieldTwo = "Really? Me too";
var moreInfoAction = #{jsAction @Application.moreInfo(":foo", ":bar") /};
// and since it looks like you want to set the current location
// to your freshly obtained URL:
window.location.href = moreInfoAction({"foo": fieldOne, "bar": fieldTwo});