当第一个函数返回true时,在一个onclientclick中调用另一个函数

时间:2012-09-19 16:55:54

标签: javascript gridview

我想调用两个函数,如果第一个返回true,则继续第二个,如果返回false,则显示错误。这将在一个onclientclick中定义。

如果在单击按钮后只调用一个函数,则该函数有效。

但是,如果我像这样组合并编写它: TestCheckBox()和TestCheckBox2()是相同的功能,我只需要它来验证两个gridviews

<script type="text/javascript"> 

var TargetBaseControl = null;

window.onload = function () {
    try {
        //get target base control.
        TargetBaseControl =
       document.getElementById('<%= this.GridView1.ClientID %>');
    }
    catch (err) {
        TargetBaseControl = null;
    }
}


function TestCheckBox() {

        if (TargetBaseControl == null) return false;

        //get target child control.
        var TargetChildControl = "chkRow";

        //get all the control of the type INPUT in the base control.
        var Inputs = TargetBaseControl.getElementsByTagName("input");

        for (var n = 0; n < Inputs.length; ++n)
            if (Inputs[n].type == 'checkbox' &&
        Inputs[n].id.indexOf(TargetChildControl, 0) >= 0 &&
        Inputs[n].checked)

                return true;


        alert('Select at least one checkbox!');
        return false;

}
</script>

问题是当TestCheckBox()返回true时,TestCheckBox2()不起作用,在这种情况下它不会验证复选框。

如何让它完美运作?

1 个答案:

答案 0 :(得分:0)

试试这个:

<asp:.... OnClientClick = "return (TestCheckBox() && TestCheckBox2());" ...