Я пытаюсь проверить форму с помощью плагина "jquery-validation": "^ 1.18.0".Этот код отлично работает в Chrome, Firefox и Edge.Но в Internet Explorer 11 этот плагин показывает недопустимое сообщение формы, даже если все поля имеют действительные данные.В консоли нет ошибок.
Я использую Handlbar JS.
Мой HTML-код
<div class="lets-connect-standalone" data-component-lets-connect-standalone>
<form action="" method="post" name="connectForm" class="connectForm" novalidate="novalidate">
<fieldset>
<div class="paginatedform">
<div class="formpage">
<div class="form-control formfield" data-component-form-control>
<input type="text" name="firstName" class="firstName" placeholder="" required="true" />
<label for="firstName">First Name</label>
<span class="icon icon-Error-Icon error-exclamation"><span class="path1"></span><span class="path2"></span></span>
</div>
<div class="continue-btn">
<button class="nextbutton btn-animation-fixed-border" type="button">CONTINUE</button></div>
</div>
</div>
</fieldset>
</form>
Мой JS-код
class LetsConnectStandalone {
constructor(el){
let validator = $(".connectForm",el).validate({
errorPlacement: function(label, element) {
if(element.is(":radio")){
console.log("element error radio : ",element);
$('<br/>',el).insertAfter(element);
label.addClass('arrow radio-error-text');
label.appendTo( element.parents('.container') );
}else{
if(element.is("select")){
label.addClass('arrow select-error-text');
}else{
if(element.is("textarea")){
label.addClass('arrow textarea-error-text');
}else{
label.addClass('arrow error-text');
}
}
label.insertAfter( element );
}
},
wrapper: 'span',
ignore: ":hidden:not(.recaptchaField)",
rules: {
"g-recaptcha-response": "required"
},
submitHandler:function(form){
if(!ispagevalid(form)){
return;
}else{
let params = $(form).serialize();
console.log("Form is submitted : ",params);
}
},
error: function(event){
try{grecaptcha.reset();}catch(e){}
}
});
let ispagevalid = function(formpage){
let valid = true;
$('input, select, radio, textarea', formpage).each(function(i, v){
valid = validator.element(v) && valid;
});
if(!valid){
try{grecaptcha.reset();}catch(e){}
}
return valid;
}
//Continue/Next button behavior
$("button.nextbutton",el).click(function(event){
let button = $(this);
let currentPage = $(button,el).parent(".continue-btn").parent(".formpage");
if(ispagevalid(currentPage)){
let nextPage = $(currentPage).next();
currentPage.hide();
nextPage.show();
}else{
}
});
}}export {LetsConnectStandalone};
Снимок экрана Chrome
Снимок экрана Internet Explorer