【问题标题】:HTML 5 required validator triggers on all buttons on the formHTML 5 要求在表单上的所有按钮上触发验证器
【发布时间】:2013-11-23 07:25:42
【问题描述】:
 <asp:TextBox ID="txtCompanyName" runat="server" placeholder="Company Name" BorderColor="#C2C4CC" BorderStyle="Solid" Height="28px" Width="135px" title="Enter Company Name"  BackColor="#F9E3CB" Enabled="False" TabIndex="7" required></asp:TextBox>

这是我的一个带有“必需”属性的文本框的标记。

我的问题是,我的表单上有 3 个按钮,分别是取消、重置和提交按钮。 html5 所需的验证器应仅在单击提交按钮时触发。 但是,即使我按下取消和重置按钮,它仍然会触发。

如何仅在一个按钮上分配 html 5 所需的验证器?

这是我的按钮标记:

取消按钮:

<asp:ImageButton ID="Cancel" runat="server" ImageUrl="~/Images/ClaimForm/btnCancel.gif" OnClick="btnFallBack_Click" Visible="False" ToolTip="Cancel" draggable="false" />

重置按钮:

<asp:ImageButton ID="btnClear" runat="server" OnClick = "OnConfirm" OnClientClick = "Confirm()" ImageUrl="~/Images/ClaimForm/Clear.jpg" draggable="false"/>

提交按钮

<asp:ImageButton ID="btnNext" runat="server" ImageUrl="~/Images/ClaimForm/submitbutton.jpg" draggable="false" OnClick="btnNext_Click"/>

【问题讨论】:

  • 添加 type="button" 或 type="reset" 取消并重置按钮

标签: asp.net html required


【解决方案1】:

在每个按钮的html代码中添加formnovalidate标签。

<asp:ImageButton ID="Cancel" runat="server" ImageUrl="~/Images/ClaimForm/btnCancel.gif" OnClick="btnFallBack_Click" Visible="False" ToolTip="Cancel" draggable="false" formnovalidate="formnovalidate" />

【讨论】:

    【解决方案2】:

    我通过为该按钮分配一个 onclick 功能并添加:

    event.preventDefault();
    

    【讨论】:

      【解决方案3】:

      试试这个。

      使用输入按钮 - 将类型设置为按钮并使其作为服务器运行

      例如: // 这将触发所需的文本框

      //这个按钮不会。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-08
        • 2019-10-09
        • 2018-02-16
        • 1970-01-01
        相关资源
        最近更新 更多