Asp.net mvc jQuery验证1.9在IE9中不起作用

Asp.net mvc jQuery验证1.9在IE9中不起作用,asp.net-mvc,jquery-plugins,jquery-validate,Asp.net Mvc,Jquery Plugins,Jquery Validate,有人有siilar问题吗。我尝试将jQuery 1.5.2、1.6.1、1.7.1与Firefox和Chrome结合使用,但IE9没有 <form id="frmLogin" method="post" action=""> @Html.LabelFor(m => m.Email) @Html.TextBoxFor(m => m.Email, new { id = "Email" }) @Html.LabelFor(m => m.Password

有人有siilar问题吗。我尝试将jQuery 1.5.2、1.6.1、1.7.1与Firefox和Chrome结合使用,但IE9没有

<form id="frmLogin" method="post" action="">
@Html.LabelFor(m => m.Email)          
@Html.TextBoxFor(m => m.Email, new { id = "Email" })
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password, new { id = "Password" })
@Html.LabelFor(m => m.RememberMe)
@Html.CheckBoxFor(m => m.RememberMe)
@Html.AntiForgeryToken()
<button type="submit">Continue</button>              
</form>

<script type="text/javascript">
$(document).ready(function () {
    var email = $('#Email');
    var password = $('#Password');

    password.val('');

    if (email.val() == '')
        email.focus();
    else
        password.focus();
});

$().ready(function () {
    $.validator.addMethod('alphaNumeric', function (value) {
        return /^([a-zA-ZčČšŠžŽćĆđĐ0-9]+)?$/.test(value);
    }, "@ValidationMessages.AlphaNumeric");

    $("#frmLogin").validate({
        rules: {
            Email: {
                required: true,
                email: true,
                minlength: 5,
                maxlength: 50
            },
            Password: {
                required: true,
                alphaNumeric: true,
                minlength: 6,
                maxlength: 20
            }
        }
    });
});
她的代码是jQuery代码。这是一个简单的登录表单,如果用户名和密码的文本框为空,则应触发所需的验证

在firefox和chrome中,如果我将用户名和密码字段留空,然后按“登录”按钮,则验证将触发并在两个文本框的右侧显示此字段是必需的。在IE中,它只是绕过这个,进入控制器

在IE中,我将浏览器模式更改为IE8、IE7,并且工作正常。只是IE9没有

<form id="frmLogin" method="post" action="">
@Html.LabelFor(m => m.Email)          
@Html.TextBoxFor(m => m.Email, new { id = "Email" })
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password, new { id = "Password" })
@Html.LabelFor(m => m.RememberMe)
@Html.CheckBoxFor(m => m.RememberMe)
@Html.AntiForgeryToken()
<button type="submit">Continue</button>              
</form>

<script type="text/javascript">
$(document).ready(function () {
    var email = $('#Email');
    var password = $('#Password');

    password.val('');

    if (email.val() == '')
        email.focus();
    else
        password.focus();
});

$().ready(function () {
    $.validator.addMethod('alphaNumeric', function (value) {
        return /^([a-zA-ZčČšŠžŽćĆđĐ0-9]+)?$/.test(value);
    }, "@ValidationMessages.AlphaNumeric");

    $("#frmLogin").validate({
        rules: {
            Email: {
                required: true,
                email: true,
                minlength: 5,
                maxlength: 50
            },
            Password: {
                required: true,
                alphaNumeric: true,
                minlength: 6,
                maxlength: 20
            }
        }
    });
});

@LabelFor(m=>m.Email)
@Html.TextBoxFor(m=>m.Email,新的{id=“Email”})
@LabelFor(m=>m.Password)
@Html.PasswordFor(m=>m.Password,新的{id=“Password”})
@LabelFor(m=>m.RememberMe)
@CheckBoxFor(m=>m.RememberMe)
@Html.AntiForgeryToken()
继续
$(文档).ready(函数(){
var email=$(“#email”);
var password=$(“#password”);
password.val(“”);
如果(email.val()='')
email.focus();
其他的
password.focus();
});
$().ready(函数(){
$.validator.addMethod('字母数字',函数(值){
返回/^([a-zA-Z楓šŽćĆĐ0-9]+)?$/.测试(值);
},“@ValidationMessages.AlphaNumeric”);
$(“#frmLogin”).validate({
规则:{
电邮:{
要求:正确,
电子邮件:是的,
最小长度:5,
最大长度:50
},
密码:{
要求:正确,
字母数字:对,
最小长度:6,
最大长度:20
}
}
});
});

尝试设置

var email=$(“#email”)
var password=$(“#password”)

var email=$('#email').val()
var password=$('#password').val()


变量可能不会转换为jquery对象,而是寻找简单的值。

我也有同样的问题。。。你找到解决办法了吗?我被告知要更新jQuery并验证,但是jq1.4或1.7与val1.6-1.9的组合被证明是不成功的。不……仍然不起作用,也没有找到任何解决方案。也许唯一的方法就是使用旧版本……有趣的是,社区并没有解决这样一个“小”问题:)问题是,即使是简单的jQuery验证也不起作用。例如,两个必填字段和验证在IE 9中不起作用。这一定是IE9或jQuery或jQuery验证插件中的问题。另一件事是检查html的源代码。IE呈现一些与其他浏览器不同的html元素。jQurey用于读取/修改格式正确的简单html元素。例如,确保元素有匹配的结束标记,id或名称属性周围有适当数量的引号。服务器端的.NET MVC帮助程序有时可能会渲染错误的元素。我用VS 2012安装了Windows 8,然后又安装了一次。IE 10中的相同问题也适用。如果我将浏览器模式更改为IE 9,仍然无法工作