a标签根据js返回值判断页面是否跳转

   a标签再跳转之前先判断是否符合条件,符合可以跳转,不符合不可以跳转。

自己遇到的问题是:在js方法中根据条件就return结果,但是不行。

              原因是:在js方法中return后不会结束整个js方法(action里面会结束整个方法),所以下面的例子始终会返回false

例如(错误的):

function updateTrainClass(classId){
var url = '${createLink(controller:'trainClass', action: 'judgeBeforeUpdateClass')}';
        $.ajax({
            global:false,
            type: "POST",
            url: url,
            data: {
                id:classId
            },
            async: false,//同步等待结果的返回
            success:function(data){
                if(data.code==0){
                   return true
                }else{
                    alert("班级已关闭,不可修改")
return false } } })
return false }

 

 

 

a 链接:(根据js中的返回结果:返回false不跳转,返回true则跳转

<a  href="${createLink(controller:'trainClass' , action: 'edit',params:[id:params.classList[0]?.id])}" onclick="return updateTrainClass('000');">
                            <i class="glyphicon glyphicon-pencil"></i>
                            </a>

正确的(根据条件判断来改变flag的值,最终返回flag)

function updateTrainClass(classId){
        var flag = false;
        var url = '${createLink(controller:'trainClass', action: 'judgeBeforeUpdateClass')}';
        $.ajax({
            global:false,
            type: "POST",
            url: url,
            data: {
                id:classId
            },
            async: false,//同步等待结果的返回
            success:function(data){
                if(data.code==0){
                   flag = true
                }else{
                    alert("班级已关闭,不可修改")
                }
            }
        })
        return flag
    }

 

 

这是自己学习过程中的记录,方便自己回顾,好记性不如烂笔头

作者:艺至

 

posted @ 2016-04-09 22:03  纪先生笔记  阅读(14292)  评论(0编辑  收藏  举报