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
    }

 

 

這是自己學習過程中的記錄,方便自己回顧,好記性不如爛筆頭

作者:藝至

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM