I am using the jQuery validation plugin. If i try to set custom field to highlight it shows an error only in IE (tested on IE11 and IE10). Console error is Object doesn't support property or method 'closest'
and points to the line in "highlight" part.
The code is:
$(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 of form is:
<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>