0

单击按钮时无法分配验证组。

<asp:TabPanel ID="tabpnlTwo" runat="server" Visible="false" Width="100%" OnClientClick="radiobuttonvalidationForTabOne">
       <ContentTemplate>
  </ContentTemplate>

<asp:TabPanel ID="tabpnlTwo" runat="server" Visible="false" Width="100%" OnClientClick="radiobuttonvalidationForTabTwo">
       <ContentTemplate>
  </ContentTemplate>

在 tabpnanel 调用脚本函数 onClientClick 此处将验证组分配给按钮

  <script>
    function radiobuttonvalidationForTabOne() {
        var btnAddOrderId = document.getElementById("btnAddToOrder");
        btnAddOrderId.ValidationGroup = "tabpnlOneGroup";

        alert(btnAddOrderId.ValidationGroup);
    }
    </script>

    <script>
function radiobuttonvalidationForTabTwo() {
    var btnAddOrderId = document.getElementById("btnAddToOrder");
    btnAddOrderId.ValidationGroup = "tabpnlTwoGroup";
    alert(btnAddOrderId.ValidationGroup);
}
</script>


 <asp:Button ID="btnAddToOrder" CssClass="customButton" runat="server" Text="Add To Order" ValidationGroup="tabpnlOneGroup"
           onclick="btnAddToOrder_Click" />
4

2 回答 2

2

利用

<anycontrol runat="server" id="anyone" ClientIDMode="Static"/>

将 ClientIDMode Static 与控件的属性一起使用将解决您的问题。

否 使用 Jquery 或 javascript:

$('#anyone').anyfunctioncallback()
{
}
于 2012-12-31T13:02:49.837 回答
1

这是因为你按钮的 id 在运行时会发生变化。你需要使用

 var btnAddOrderId = document.getElementById('<%=btnAddToOrder.ClientID%>');

代替

 var btnAddOrderId = document.getElementById("btnAddToOrder");
于 2012-12-31T12:47:58.757 回答