1

我面临着这个只发生在谷歌 Chrome 浏览器上的特殊问题。

对于任何具有必填字段验证器的文本框,如果我输入一些值并从中跳出,它可以正常工作。

但是,如果该值被删除(内容被完全删除)并跳出文本框,或者单击另一个文本框,则焦点第一次仍然在文本框上。

我该如何解决这个问题?它适用于所有其他浏览器。

文本框的一个例子是: -

<asp:Label ID="Label6" runat="server" AssociatedControlID="SwiftCode" meta:resourcekey="SwiftCodeLabel"/><span class="required">*</span>
<asp:TextBox id="SwiftCode" runat="server" CssClass="field-input account-detail"/>
<asp:RequiredFieldValidator runat="server" EnableClientScript="True" ValidationGroup="BankDetails" ControlToValidate="SwiftCode" ID="SwiftCodeValidator" SetFocusOnError="True" meta:resourcekey="SwiftOrRoutingValidator"  CssClass="validation-always-hide" />
<asp:CustomValidator runat="server" ValidationGroup="BankDetails" EnableClientScript="True" ControlToValidate="SwiftCode" ID="SwiftCodeCustomValidator" ClientValidationFunction="bankAccount.isSwiftCodeValid" SetFocusOnError="True" meta:resourcekey="SwiftCodeCustomValidator"  CssClass="validation-always-hide" />
<span class="hint bank-details-hint"><a href="https://news.customhouse.com/faq/spp/?q=53" target="_blank"><%=GetLocalResourceString("SWIFTBIC")%></a> <%=GetLocalResourceString("SWIFTBICHint")%></span>

现在 bankAccount.isSwiftCodeValid 是一个简单的 jQuery 函数,如下所示:-

function isSwiftCodeValid(source, args) {
        var isAlphaNumeric = /^[a-z0-9]+$/i;
        args.IsValid = (args.Value.length === 8 || args.Value.length === 11) && isAlphaNumeric.exec(args.Value);
    }
4

0 回答 0