SubmitHandler не определен в HTMLInputElement.onclick

мой сценарий работает, но у меня все еще есть эта ошибка 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("----------------------------------");
        }
    });

});

Помоги пожалуйста! мне нужно избавиться от этой ошибки

ЗАЧЕМ Не могли бы вы поместить встроенный обработчик onclick в кнопку отправки? Вы используете jQuery, что устраняет необходимость во встроенных обработчиках; а jQuery Validate автоматически фиксирует нажатие кнопки отправки формы. Смотрите, он отлично работает: jsfiddle.net/zt86jwqo
Sparky 02.12.2018 17:41
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
1 334
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы не определили функцию 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>

и подавать точно в одно и то же время

German Varanytsya 02.12.2018 13:33

Это все неправильно. При использовании jQuery встроенные обработчики событий не требуются.

Sparky 02.12.2018 17:49
Ответ принят как подходящий

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

Другие вопросы по теме