不显眼的javascript MVC3验证在IE9中不工作,在IE10, safari中工作



我有一个文本框和密码控件在我的登录页面,下面是我的视图,

@Html.TextBoxFor(m => m.Login)
@Html.PasswordFor(m => m.Password)
我已经编写了jquery来验证上面的两个字段,
$('#txtLogin').blur(function () {
  if ($('#txtLogin').val() == '') {
    $('#LoginError').html("Please enter email address.");                            
    return false;
  } else {
    return true;        
  }
});
$('#txtPassword').blur(function () {
  if ($('#txtPassword').val() == '') {
    $('#LoginError').html("Please enter password.");                            
    return false;
   } else {
     return true;
   }
});

我想知道为什么这不仅在IE9工作?它在IE10和safari 5.1中运行良好

在MVC中,您需要确保在web.config

中放置以下行
<add key="UnobtrusiveJavasScriptEnable" value="true"/>

然后将jquery不显眼的库添加到您的模型中,特别是在MVC中,尝试将jquery放在单独的文件中并将文件引用到视图中。

仅仅添加验证jquery库是不够的,在MVC中也添加不显眼的验证库。

如果它仍然不工作,然后尝试从html控件本身调用jquery的onblur函数,如下所示。我猜这与浏览器问题有关。

@Html.TextBoxFor(m => m.Login,new {"onblur","txtLogin_onbluur"})

最新更新