您的位置:首页 > Web前端 > JavaScript

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

2016-04-09 22:03 981 查看
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
}


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

作者:艺至
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: