0

パネルが表示されているかどうかを確認するカスタム検証関数を作成しました
。[次へ] ボタンのクリック時に関数を呼び出す必要があります。

ただし、代わりに、ページ上のすべてのボタンのクリック時に呼び出されます。

コードは次のとおりです。

 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 を検証できません」。

4

2 に答える 2

0

あなたはそれを正しい要素に引っ掛ける必要があります。

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

アンジェラ

于 2013-02-15T05:22:50.473 に答える
0

ちょっと私は私の問題に対して非常に簡単な解決策をしました。1 つ目は、ページ上のすべてのボタンのクリック時に呼び出される 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>

残りのボタンについては、causevalidation=false プロパティを設定しました。これにより、関数 wwas は [次へ] ボタンでのみ呼び出されました

于 2013-02-15T10:09:29.517 に答える