0

我编写了一个自定义验证函数来检查是否显示面板
我希望在单击 NEXT 按钮时调用该函数。

但相反,它会在页面上的每个按钮的点击时被调用。

这是代码:

 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

嘿,我为我的问题做了一个非常简单的解决方案。首先是 ws 在页面上的 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=false 属性。有了这个,函数 wwas 只在 Next 按钮上被调用

于 2013-02-15T10:09:29.517 回答
0

您需要将其连接到正确的元素。

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

安吉拉

于 2013-02-15T05:22:50.473 回答