мой сценарий работает, но у меня все еще есть эта ошибка submitHandler не определен в HTMLInputElement.onclick
это форма
<form id = "myform" method = "get" action = "" class = "form-inline pt-5 mt-5 mt-md-0">
<div class = "group mx-auto">
<input name = "name" id = "name" class = "form-input" type = "text" required>
<span class = "highlight"></span>
<span class = "bar"></span>
<label class = "label">Имя</label>
</div>
<div class = "group mx-auto">
<input name = "tel" id = "tel" class = "form-input" type = "text" required>
<span class = "highlight"></span>
<span class = "bar"></span>
<label class = "label">Телефон</label>
</div>
<input type = "submit" onclick = "submitHandler(myform)" class = "btn btn-danger mx-auto submit">
</form>
и это мой простой скрипт проверки jquery
$(document).ready(function () {
$('#myform').validate({
rules: {
name: {
required: true,
},
tel: {
required: true,
}
},
submitHandler:function(form){
form.submit();
console.info("----------------------------------");
console.info($('#name').val());
console.info($('#tel').val());
console.info("----------------------------------");
}
});
});
Помоги пожалуйста! мне нужно избавиться от этой ошибки



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы не определили функцию submitHandler (), которую вы вызываете при вводе click onclick = "submitHandler (myform)". НАПРИМЕР. вы можете отправить свою форму одним щелчком мыши, например:
$('#myform').submit()
полный код:
<form id = "myform" method = "get" action = "" class = "form-inline pt-5 mt-5 mt-md-0">
<div class = "group mx-auto">
<input name = "name" id = "name" class = "form-input" type = "text" required>
<span class = "highlight"></span>
<span class = "bar"></span>
<label class = "label">Имя</label>
</div>
<div class = "group mx-auto">
<input name = "tel" id = "tel" class = "form-input" type = "text" required>
<span class = "highlight"></span>
<span class = "bar"></span>
<label class = "label">Телефон</label>
</div>
<input type = "submit" onclick = "$('#myform').submit()" class = "btn btn-danger mx-auto submit">
</form>
<script
src = "https://code.jquery.com/jquery-3.3.1.min.js"
integrity = "sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8 = "
crossorigin = "anonymous"></script>
<script src = "https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.validate.js"></script>
<script>
$(document).ready(function () {
$('#myform').validate({
rules: {
name: {
required: true,
},
tel: {
required: true,
}
},
submitHandler: function(form){
form.submit();
console.info("----------------------------------");
console.info($('#name').val());
console.info($('#tel').val());
console.info("----------------------------------");
}
});
});
</script>
и подавать точно в одно и то же время
Это все неправильно. При использовании jQuery встроенные обработчики событий не требуются.
i have this error submitHandler is not defined at HTMLInputElement.onclick
Это потому, что вы пытаетесь использовать встроенный обработчик onclick для вызова встроенной в плагин функции автоматически обрабатывается плагином.
Вы используете jQuery, что избавляет от необходимости использовать какие-либо встроенные обработчики; а плагин jQuery Validate автоматически фиксирует нажатие кнопки отправки формы.
УДАЛИТЬ встроенный обработчик onclick, и все будет работать как положено.
<input type = "submit" class = "btn btn-danger mx-auto submit">
Рабочий DEMO: jsfiddle.net/zt86jwqo
onclickв кнопку отправки? Вы используете jQuery, что устраняет необходимость во встроенных обработчиках; а jQuery Validate автоматически фиксирует нажатие кнопки отправки формы. Смотрите, он отлично работает: jsfiddle.net/zt86jwqo