#validation
Вопрос:
Я хочу отправить эту форму после ее проверки в поле, но она не будет отправлена на следующую страницу. Я думаю, мне нужно что-то добавить в jQuery.
Язык JavaScript:
(function() { window.addEventListener('load', function() { var forms = document.getElementsByClassName('needs-validation'); var validation = Array.prototype.filter.call(forms, function(form) { form.addEventListener('submit', function(event) { if (form.checkValidity() === false) { event.preventDefault(); event.stopPropagation(); //$(this).trigger('submit'); } form.classList.add('was-validated'); }, false); }); }, false); })();
HTML:
lt;form class="needs-validation" action="save.php" method="post" id="form" name="form" novalidategt; lt;div class="row"gt; lt;div class="col"gt; lt;div class="mb-3"gt; lt;label class="form-label" for="exampleFormControlInput20"gt;Infolt;/labelgt; lt;textarea class="form-control" id="exampleFormControlTextarea25" rows="3" placeholder="Fill in your info"gt;lt;/textareagt; lt;div class="invalid-tooltip"gt;Fill in this field.lt;/divgt; lt;/divgt; lt;/divgt; lt;/divgt; lt;div class="card-footer text-end"gt; lt;div class="col-sm-9 offset-sm-3"gt; lt;button class="btn btn-success active" type="submit" title="Submit Info"gt;Submitlt;/buttongt; lt;button class="btn btn-danger active" type="reset" title="Cancel"gt;Cancellt;/buttongt; lt;/divgt; lt;/divgt; lt;/formgt;
Комментарии:
1. У вас здесь нет jQuery, за исключением строки, которая закомментирована?
Ответ №1:
(function() { window.addEventListener('load', function() { var forms = document.getElementsByClassName('needs-validation'); var validation = Array.prototype.filter.call(forms, function(form) { form.addEventListener('submit', function(event) { if (form.checkValidity() === false) { event.preventDefault(); event.stopPropagation(); //$(this).trigger('submit'); } form.classList.add('was-validated'); }, false); }); }, false); })();
lt;form class="needs-validation" action="save.php" method="post" id="form" name="form" novalidategt; lt;div class="row"gt; lt;div class="col"gt; lt;div class="mb-3"gt; lt;label class="form-label" for="exampleFormControlInput20"gt;Infolt;/labelgt; lt;textarea class="form-control" id="exampleFormControlTextarea25" rows="3" placeholder="Fill in your info" required minlength="10"gt;lt;/textareagt; lt;div class="invalid-tooltip"gt;Fill in this field.lt;/divgt; lt;/divgt; lt;/divgt; lt;/divgt; lt;div class="card-footer text-end"gt; lt;div class="col-sm-9 offset-sm-3"gt; lt;button class="btn btn-success active" type="submit" title="Submit Info"gt;Submitlt;/buttongt; lt;button class="btn btn-danger active" type="reset" title="Cancel"gt;Cancellt;/buttongt; lt;/divgt; lt;/divgt; lt;/formgt;
Когда он пройдет проверку, вам нужно будет отправить форму самостоятельно.
if (form.checkValidity() === false) { event.preventDefault(); event.stopPropagation(); } else { form.submit(); }
Комментарии:
1. я попытался добавить форму.отправить, как ваше предложение, и оно перейдет на следующую страницу, но моя форма не подтвердится. похоже, это обходит проверку.