2013-02-15 48 views
0

我寫了一個自定義驗證函數來檢查面板是否顯示
我希望函數被調用onclick的NEXT按鈕。自定義驗證器被調用onclick頁面上的所有控件

反而它被調用的onclick頁面上的每個按鈕。

下面是代碼:

function Validate(sender, args) 
    { 
     if (document.getElementById("Panel1").style.display == 'none') { 
       args.IsValid = false; 
     } 
     else { 
       args.IsValid = true; 
      } 
    } 

,這是按鈕的代碼的onclick其中它應該被調用。

<asp:Button ID="btnNext" runat="server" Text="Next" Font-Bold="True" CssClass="InputButton" OnClick="btnNext_Click" /> 
<asp:CustomValidator ID="cvValidate" runat="server" ErrorMessage="Panel has no data." ClientValidationFunction="Validate" Display="none" EnableViewState="false"></asp:CustomValidator> 

如果我設置Controltovalidate =「btnNext」,那麼它再次引發錯誤。 「btnNext無法驗證」。

回答

0

您需要將其掛到右側的元素。

document.getElementById("btnNext").onclick = function() { //Do Your Stuff Here };

安吉拉

+0

喜感謝名單4回答,我不是很用JavaScript wellversed你能告訴我我應該在哪裏放置烏爾建議的code..coz如果我寫它的onload我得到的對象預期錯誤btnNext – user1274646 2013-02-15 05:50:38

+0

@ user1274646,我在這裏做了一個簡單的演示http://jsbin.com/iwefaz/1/edit。 – Angela 2013-02-15 06:00:44

+0

頁面打開時出錯我無法在頁面上看到任何東西 – user1274646 2013-02-15 06:14:50

0

嘿,我做了一個非常簡單的解決我的問題。 首先是在頁面上的evry按鈕點擊的java腳本代碼。

 function Validate(sender, args) 
    { 
     if (document.getElementById("Panel1").style.display == 'none') { 
       args.IsValid = false; 
     } 
     else { 
       args.IsValid = true; 
      } 
    } 

然後在下一步按鈕:

<asp:Button ID="btnNext" runat="server" Text="Next" Font-Bold="True" CssClass="InputButton" OnClick="btnNext_Click" /> 

<asp:CustomValidator ID="cvValidate" runat="server" ErrorMessage="Panel has no data." ClientValidationFunction="Validate" Display="none" EnableViewState="false"></asp:CustomValidator> 

和按鈕我沒有設置的CausesValidation =假屬性的其餘部分。與此功能wwas得到只調用了下一步按鈕

相關問題