【问题标题】:input button causes RequiredFieldValidator to fire输入按钮导致RequiredFieldValidator触发
【发布时间】:2012-04-17 17:11:37
【问题描述】:

我的页面上有一个动态创建的输入按钮,每次我按下它时,它都会为电子邮件地址中的空白字段触发RequiredFieldValidator。 有没有办法覆盖它?

输入代码:

<input class=\"hledat\" id=\"searchbutton\" type=\"image\" src=\"search-button.gif\" value=\"{0}\" onclick=\"search('{1}');\" onkeypress=\"search('{1}');\"/>"

验证码:

<asp:TextBox runat="server" ID="txtEmail" ClientIDMode="Static" Width="98%" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtEmail" ErrorMessage="email"
    Display="dynamic" ValidationGroup="newsletter" />
<asp:RegularExpressionValidator runat="server" ControlToValidate="txtEmail" ErrorMessage="email"
    ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="dynamic"
    ValidationGroup="newsletter" />

【问题讨论】:

  • search 是什么意思?除此之外,“黑场”是指“空白场”吗?我假设你想在没有验证的情况下回发,不是吗?
  • 您是否尝试使用 Search 执行任何 JS 操作?
  • 其实不行,我应该尝试创建一个服务器按钮吗?
  • 只需将 runat="server" 添加到您的输入按钮。
  • 它会踢验证器,因为单击 input 会导致回发。从您的问题中不清楚您是真的希望它回发还是只是希望它在 onclick 处理程序上执行 js。你能澄清一下吗?

标签: asp.net requiredfieldvalidator input-button-image


【解决方案1】:

我的页面上有一个动态创建的输入按钮,每个 当我按下它时,它会触发空白的RequiredFieldValidator 电子邮件地址中的字段。有没有办法覆盖它?

HtmlButton.CausesValidation Property

标记

<button causesvalidation="false" /><button ID="StateQueryButton" CausesValidation="False" runat="server"> Submit </button>


是的,我希望它进行回发

HtmlButton.OnServerClick Method

代码隐藏

protected void FancyBtn_Click(object sender, EventArgs e)
{  

}

标记

<button causesvalidation="false" /><button ID="StateQueryButton" CausesValidation="False" OnServerClick=" FancyBtn_Click" runat="server" > Submit </button>

【讨论】:

  • 谢谢,我将输入类型更改为按钮而不是图像
【解决方案2】:

通过编写 runat="Server" 属性使其成为服务器端按钮,并根据您的要求创建 CausesValidation="true|false"。如果你做假,它不会验证。如果它解决了问题,请告诉我

【讨论】:

【解决方案3】:

尝试将runat="server"添加到输入按钮,如图:

*注意* runat="server"。虽然 asp:button 的呈现方式可能类似,但如果您真正想要的是 HTML 按钮输入,则可以使用它。是的,ASP.NET 会在服务器端获取值。**

<input type="button" runat="server" id="btnTest" value="change" onclick="doPostBack('btnTest', '');"/> 

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-20
  • 1970-01-01
  • 2011-06-13
  • 1970-01-01
  • 1970-01-01
  • 2015-06-06
相关资源
最近更新 更多