2012-09-19 70 views
0

我想調用兩個函數,如果第一個返回true,則繼續第二個函數,如果返回false,則顯示錯誤。這將在一個onclientclick中定義。當第一個函數返回true時調用另一個函數,在一個onclientclick中

如果在點擊按鈕後只調用一個函數,該函數就可以工作。

但是,如果我結合起來,把它寫這樣的: TestCheckBox()和TestCheckBox2()是相同的功能,我只需要它來驗證2個GridView的

<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()不起作用,在這種情況下,它不驗證複選框。

如何使它完美地工作?

+0

你是如何調用這兩個功能是什麼? – Chandu

回答

0

試試這個:

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

不,它不能正常工作。當TestCheckBox返回true時,它不執行TestCheckBox2 .. –

相關問題