簡體   English   中英

驗證錯誤后清除字段

[英]Clearing fields after the validation error

我有2個帶有比較范圍驗證器的日期文本框。 當我選擇了錯誤的日期時,我會收到驗證器所期望的紅色標記,但是在紅色標記警報之后,日期文本框不會通過清除按鈕邏輯重置為空。 如果有紅色標記,它不會達到Clear_Click中的斷點。 請幫忙。

aspx代碼:

<asp:TextBox ID="FromDate" runat="server" />
<asp:TextBox ID="ToDate" runat="server" />
<asp:CompareValidator ID="DateCompareValidator" ControlToCompare="FromDate"
     ControlToValidate="ToDate" Type="Date" Operator="GreaterThanEqual" ErrorMessage="*Invalid date range - Please check"
     runat="server"></asp:CompareValidator>

<asp:Button ID="ClearButton" Text="Clear" runat="server" OnClick="Clear_Click"/>

.cs的CodeBehind:

protected void Clear_Click(object sender, EventArgs e)
{
  FromDate.Text = String.Empty;
  ToDate.Text = String.Empty;
}

如果您只想清除TextBox,則不會回發到服務器。 無論有無jQuery,我都會使用簡單的JavaScript 例如:

<asp:TextBox ID="FromDate" runat="server" />
<asp:TextBox ID="ToDate" runat="server" />
<asp:CompareValidator ID="DateCompareValidator" ControlToCompare="FromDate"
     ControlToValidate="ToDate" Type="Date" Operator="GreaterThanEqual" ErrorMessage="*Invalid date range - Please check"
     runat="server"></asp:CompareValidator>

<input type="button" id="clearButton" value="Clear" />

<script>
$(function() {
$( "#clearButton" ).click(function() {
  $("#<%= FromDate.ClientID %>").val("");
  $("#<%= ToDate.ClientID %>").val("");
});
});
</script>

這是一個非常小的示例(沒有asp.net控件):

 $(function() { $( "#clearButton" ).click(function(e) { e.preventDefault(); $("#FromDate").val(""); $("#ToDate").val(""); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input ID="FromDate" type="text" /> <input ID="ToDate" type="text" /> <input type="button" id="clearButton" value="Clear" /> 

編輯:

  1. 如果單擊按鈕, Clear_Click真的被解雇了?
  2. 在我的測試中,每個想法都能完美地工作,請看以下示例:ASPX:

      <asp:Button ID="ClearButton" Text="Clear" runat="server" OnClick="Clear_Click" /> </div> </form> 

C#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace ButtonTest2
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Clear_Click(object sender, EventArgs e)
        {
            FromDate.Text = String.Empty;
            ToDate.Text = String.Empty;
        }
    }
}

您的代碼是否與我的代碼相似?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM