如何强制退出javascript函数?

时间:2015-03-10 22:30:09

标签: javascript

让我们展示我的功能:

function checkEligibility(elementID) {
// get the hons subject code choosen
var elt = document.getElementById(elementID);                       
var honssubcode = document.getElementById(elementID).value;
var sys_form_no = document.getElementById("sys_form_no").value;
var errorflag = false;

    if(elementID.value == 19 || elementID.value == 110){    
        document.getElementById(elementID+"_div").style.display = 'none';   
        document.getElementById(elementID+"_marks").value = "";
        document.getElementById(elementID+"_error").innerHTML = "";
        return false;
    }

    if(elementID == 'general_choice'){  
        document.getElementById(elementID+"_div").style.display = 'inline'; 
        document.getElementById(elementID+"_preview").innerHTML = elt.options[elt.selectedIndex].text;  
        return false;
    }

    // Lets check if the choice is unique
    if(elementID == 'hons_pref_sub1') {
        if(document.getElementById("hons_pref_sub2").value == honssubcode ||
        document.getElementById("hons_pref_sub3").value == honssubcode) 
        {
            errorflag = true;   
        }
    }
    else if(elementID == 'hons_pref_sub2') {
        if(document.getElementById("hons_pref_sub1").value == honssubcode ||
        document.getElementById("hons_pref_sub3").value == honssubcode)
        {
            errorflag = true;
        }
    }
    else if(elementID == 'hons_pref_sub3'){
        if(document.getElementById("hons_pref_sub1").value == honssubcode ||
        document.getElementById("hons_pref_sub2").value == honssubcode)
        {
            errorflag = true;
        } 
    }
    else{
        document.getElementById(elementID+"_error").innerHTML = "";
    }


    // now decide what to do

    if(errorflag)
    {
        document.getElementById(elementID).options[0].selected = true;
        document.getElementById(elementID+"_marks").value = "";
        document.getElementById(elementID+"_error").innerHTML = "This Subject Already Choosen!";
        document.getElementById(elementID+"_div").style.display = 'none';
    }
    else
    {
        var xmlhttp;
        if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }
        else
        {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                var myarray=eval(xmlhttp.responseText);
                // processing block if any  
                if(myarray[0] == '1')   {
                document.getElementById(elementID+"_marks").value = myarray[1];     
                document.getElementById(elementID+"_div").style.display = 'inline'; 
                document.getElementById(elementID+"_preview").innerHTML = elt.options[elt.selectedIndex].text;
                document.getElementById(elementID+"_preview_marks").innerHTML = myarray[1];                                         
                }else{
                document.getElementById(elementID+"_marks").value = ""; 
                document.getElementById(elementID).options[0].selected = true;
                }
                // Show the message returned by checkeligibility.php
                document.getElementById(elementID+"_error").innerHTML = myarray[2];
                // processing sub block ends    
            }
        }
        var url="checkeligibility.php";
        url=url+"?sub_id="+honssubcode+"&sys_form_no="+sys_form_no;
        url=url+"&sid="+Math.random();
        xmlhttp.open("GET",url,true);
        xmlhttp.send(null);
    } //end else
}// end function

如果出现错误,我想退出以下两项检查:

if(elementID.value == 19 || elementID.value == 110) {   
    document.getElementById(elementID+"_div").style.display = 'none';   
    document.getElementById(elementID+"_marks").value = "";
    document.getElementById(elementID+"_error").innerHTML = "";
    return false;
}

if(elementID == 'general_choice') { 
    document.getElementById(elementID+"_div").style.display = 'inline'; 
    document.getElementById(elementID+"_preview").innerHTML = elt.options[elt.selectedIndex].text;  
    return false;
}

我该怎么办?实际上,退出该代码块是强制性的,否则下面的代码将被执行并破坏业务逻辑。请帮忙。

1 个答案:

答案 0 :(得分:0)

满足要求退出的条件时返回

相关问题