Asp自定义验证程序在IE-11中不起作用

时间:2016-05-12 14:40:06

标签: javascript internet-explorer-11 asp.net-2.0

我正在使用兼容性边缘模式将我的应用程序从IE 9迁移到IE 11。 asp自定义验证程序和必需字段验证程序在IE 11中不起作用,但page.isValid()始终返回true。但它在IE 9中运行良好。

示例代码:

<asp:DropDownList ID="cboType" onChange="fnInvalid(this,'hidTypeValid');getSelectedValue('cboType','hidliab');changeOptions(document.forms[0].hidliab,document.forms[0].cmbLiability,document.forms[0].hid_liab,document.forms[0].HIDSERLIAB);" runat="server" name="cbotype"AutoPostBack="true"></asp:DropDownList>
                                                            <asp:RequiredFieldValidator ID="VreqvalidateType" runat="server" Display="None" ControlToValidate="cboType" ErrorMessage="-Case Type should not be blank" InitialValue="Choose"></asp:RequiredFieldValidator>

<asp:CustomValidator ClientValidationFunction="fnInvalidSelection" ID="VcustTypeValid"
runat="server" Display="None" ControlToValidate="cboType" ErrorMessage="-Case Type should have valid selection."></asp:CustomValidator>

<asp:CustomValidator ClientValidationFunction="fnTypeFileClass" ID="VcusTypeFile" runat="server" Display="None" ControlToValidate="cboType" ErrorMessage="- Case File Classification should not be empty."></asp:CustomValidator>

 <asp:CustomValidator Enabled="false"ClientValidationFunction="fnTypeCaseHandler"ID="VcusTypeCaseHandler" runat="server" Display="None" ControlToValidate="cboType"ErrorMessage="- Case Handler 1  should not be empty."></asp:CustomValidator>

使用Javascript:

<pre lang="C#">function fnTypeCaseHandler(sender,args)
    {
    var s = args.Value;
    args.IsValid = true;
        if (s!="K")
        {
        var handler1= document.frmCaseDetails.cmbHandler1.value;
        if (handler1 =="Choose")
        {
            args.IsValid = false;
        }
        }
    return args.IsValid;
    }

function fnTypeFileClass(sender,args)
    {
    var s = args.Value;
    args.IsValid = true;
        if (s!="K")
        {
        var file = document.frmCaseDetails.cmbFileClass.value;
        if (file =="Choose")
        {
            args.IsValid = false;
        }
        }
    return args.IsValid;
    }

1 个答案:

答案 0 :(得分:0)

这是因为IE-11问题我们在页面的标题部分中使用了Error: binary operator '<=' cannot be applied to operands of type 'T' and 'Double' Error: binary operator '/' cannot be applied to operands of type 'T' and 'Double' Error: binary operator '+' cannot be applied to operands of type 'T' and 'Double' 标签并且IE-11兼容性很好。