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 }
这是自己学习过程中的记录,方便自己回顾,好记性不如烂笔头
作者:艺至
原文:http://www.cnblogs.com/sunjiguang/p/5372805.html