2009-08-12 23 views
0

有沒有什麼辦法讓我循環,雖然在asp.net面板上的所有控件,併爲每個控件檢查類型,看看它是asp類型的TimeInput?JavaScript - ASP.net - 通過一個ASP面板上的所有控件循環

的JS basicly需要複製該服務器端代碼VB.net

'this is checking that something has been entered into at least one of the time input boxes 
Protected Sub valCusAllTextBox_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles valCusAllTextBox.ServerValidate 
    'When the Save or Submit button is clicked the Page.IsValid() command causes the "valCusAllTextBox" custom validator control 
    '(which was dragged on to the page) to call this event - where we do our customised error checking 
    args.IsValid = False  'args.IsValid is a system function 
    'check all controls within the Overtime Claim panel 
    For Each ctrl As Control In pnlOvertimeClaim.Controls 
     If TypeOf ctrl Is TimeInput Then 
      If CType(ctrl, TimeInput).TimeInMinutes <> 0 Then 
       args.IsValid = True 
       Exit For 
      End If 
     End If 
    Next 
    If txtOnCallAllow.Text.Trim() <> "" Then 
     args.IsValid = True 
    End If 
    If txtMealAllow.Text.Trim() <> "" Then 
     args.IsValid = True 
    End If 
End Sub 

回答

2

你可以使用這個腳本來找到面板特定的控制,在頁的末尾 認沽腳本,

<script type="text/javascript" language="javascript"> 
var pnl = document.getElementById('pnl') 
var array = pnl.getElementsByTagName("a"); 
for (var n = 0; n < array.length; ++n) { 
    alert("anchor"); 
} 
var array = pnl.getElementsByTagName("img"); 
for (var n = 0; n < array.length; ++n) { 
    alert("Image"); 
} 

像這樣是你的面板,你想迭代特定的控制。

<asp:Panel runat="server" ID="pnl"> 
     <a id="sd" href=""></a> 
     <img src="" /> 
     <a id="A1" href=""></a> 
    </asp:Panel>