Symfony4 symfony 4:表单提交后如何处理返回箭头
我有一个表格,它是用随机算法(测验)生成的。提交后,呈现结果页:问题是如果用户单击后退箭头,将显示具有相同问题的表单,并且可以再次提交!!我试图设置一个会话变量并使用twig函数{如果定义了app.sesseion->get('myVaryable')}然后不显示提交按钮等。。。但是,即使变量被删除在我的控制器,枝条仍然认为它定义…???您有其他简单的解决方案吗?单击浏览器中的“上一步”按钮通常会导致从缓存中重新加载页面(与服务器无交互),因此除非用户刷新页面(向服务器重新发送请求),否则您无法用twig(后端代码)控制此操作 您需要一个如下所示的javascript(前端代码)解决方案来检查导航类型Symfony4 symfony 4:表单提交后如何处理返回箭头,symfony4,Symfony4,我有一个表格,它是用随机算法(测验)生成的。提交后,呈现结果页:问题是如果用户单击后退箭头,将显示具有相同问题的表单,并且可以再次提交!!我试图设置一个会话变量并使用twig函数{如果定义了app.sesseion->get('myVaryable')}然后不显示提交按钮等。。。但是,即使变量被删除在我的控制器,枝条仍然认为它定义…???您有其他简单的解决方案吗?单击浏览器中的“上一步”按钮通常会导致从缓存中重新加载页面(与服务器无交互),因此除非用户刷新页面(向服务器重新发送请求),否则您无法
if (window.performance && window.performance.navigation.type == window.performance.navigation.TYPE_BACK_FORWARD) {
// Disable the form
var inputs = document.getElementsByTagName("INPUT");
for (var i = 0; i < inputs.length; i++) {
inputs[i].disabled = true;
if (inputs[i].type === 'submit') {
inputs[i].remove();
}
}
}
if(window.performance&&window.performance.navigation.type==window.performance.navigation.type\u BACK\u FORWARD){
//禁用窗体
var inputs=document.getElementsByTagName(“输入”);
对于(变量i=0;i
我建议您也在处理表单的控制器中查找并适当地处理重复提交,因为任何熟练的用户仍然可以提交表单
参考资料: