javascript - 使用未提交的表单关闭页面时询问确认

标签 javascript symfony

<分区>

我有一个表单,我想在提交值之前询问用户关闭页面时的确认。我已经尝试过 this question 中描述的脚本但它似乎不起作用:userSubmitted 值数字始终为真,并且不会出现弹出窗口。

我模板中的代码是:

 <script>
window.onbeforeunload = function() {
if(!userSubmitted)
    return 'Are you sure that you want to leave this page?';};
</script>

我的 Controller 中的代码是:

$userSubmitted=false;
//...

$form->handleRequest($request);
       if ($form->isValid()) {
        $userSubmitted=true;

//...
return $this->render('DefaultBundle::formupload.html.twig', array(
       'form' => $form->createView(), 'userSubmitted->$userSubmitted
       )); 
//...

最佳答案

var warn_on_unload = false; //default false 


$('input,textarea,select').on('change', function () { 
  //making true when user types in , or select
    warn_on_unload = true;
});

$(window).bind('beforeunload', function(){
//warns user if not saving form and closing or browsing other page
    if(warn_on_unload)
    {
        return confirm('Leaving this page will cause any unsaved data to be lost.');
    }

});

关于javascript - 使用未提交的表单关闭页面时询问确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22710425/

相关文章:

javascript - React-倒计时-现在不在渲染上更新

javascript - 如何为Each() 类创建点击监听器

symfony - 将404错误重定向到另一个目录

php - 为什么 Symfony 5.1 不能识别 "routes.php"文件上配置的路由?

javascript - 如何使用 JavaScript 添加 HTML 代码到调用函数的对象?

javascript - 缓存函数的返回结果,来自 John Resig 的 Learning Advanced JavaScript

javascript - 检测输入何时聚焦于开始/结束

Symfony 2 - 在 postUpdate 触发 preUpdate 事件中刷新

php - 在 Symfony 中创建配置

php - Symfony2 功能测试 session 持久性