在从页面重定向之前询问确认

时间:2015-05-05 13:47:03

标签: javascript jquery sammy.js

我有申请。 客户端是 - 淘汰赛。

所以我有一个带有表单的页面,我想在他尝试去另一个页面之前询问用户confirametion(如果他改变了某些东西(这个pard准备就绪))

所以在所有网站上路由 - 它的Sammy.js。

我试过了: Sammy JS - 之前

function ViewModel()
{
  Sammy.before(/.*/, function () {

        if (window.confirm('Really go to another page?')){

        }
        else{
            //DO NOTHING AND STAY IN THE SAME PAGE
            //OR SOMETHING ELSE THAT YOU WANT

            return false;
        }

     });
}

它的工作,但它仍然适用于所有网站 - 而且它很糟糕。 我没有找到禁用它的方法,所以也许我可以在没有sammy的情况下做到这一点???

谢谢你们!

更新:本网站为SPA

1 个答案:

答案 0 :(得分:0)

您可以使用before,但必须指定选项以仅在必要时显示确认对话框。请参阅docs。您指定为所有路由运行它,您必须指定要执行的路由。之前选项仅为您提供下一条路线的信息。如果它取决于当前路由,您可以检查当前URL:

function extractSammyUrlFrom (context)
{
  // get the hash fragment (curernt route)
  "#" + context.path.split("#")[1] ;
}

如果它取决于页面中的任何其他内容,请在显示对话框之前进行检查。