我正在使用jQuery验证插件。如果我尝试设置自定义字段以进行高亮显示,则仅在IE中显示错误(在IE11和IE10上测试)。控制台错误为
代码如下:
对象不支持属性或方法“closest”
,并指向“highlight”部分的行。代码如下:
$(document).ready( function(){
$("#formPost_connection").validate({
rules: {
mail: {
required: true
}
},
messages: {
mail: {
required: "Please enter your email address or username"
}
},
errorElement : 'div',
errorPlacement: function(error, element) {
var parent = element.closest('.form-group');
error.insertAfter(parent);
},
highlight: function(element, errorClass) {
var parent = element.closest('.form-group');
$(parent).addClass('field-error');
},
unhighlight: function(element, errorClass) {
var parent = element.closest('.form-group');
$(parent).removeClass('field-error');
}
});
});
表单的HTML代码如下:
<form id="formPost_connection" autocomplete="on" method="POST" name="" action="">
<fieldset>
<div class="form-group">
<label for="account_login">Email address / User name:</label>
<div class="input-wrapper">
<input id="account_login" type="text" name="mail" title="Enter your email address or user name" required />
</div>
</div>
<div class="password-field-wrapper">
<div class="form-group" style="margin-bottom: 0;">
<label for="mdp">Password:</label>
<div class="input-wrapper">
<input id="mdp" type="password" name="mdp" title="Enter your password" required />
</div>
</div>
<a title="Did you forget your password?" class="forgot-password" href="/reset-password">Forgot your password?</a>
</div>
<button class="btn" type="submit">Log In</button>
</fieldset>
</form>