HTML требуется не работает с onclick - PullRequest
2 голосов
/ 30 января 2012

У меня есть следующее, что я использую для отправки форм на моем сайте:

<a onclick="document.forms['REGform'].submit(); return false;" class="button" href="javascript:;">Register</a>

У меня есть входы в форму с обязательным тегом, но это не похоже на их запуск?Значение не останавливает отправку пустых входных данных.

Если я использую обычную кнопку отправки, то, между прочим, она работает нормально - не является ли признанным способом отправки формы в html5?

Ответы [ 3 ]

5 голосов
/ 30 января 2012

Вот как вы можете сделать

<a onclick="CheckValidation();" class="button" href="javascript:;">Register</a>

function CheckValidation()
{

    var isValidForm = document.forms['REGform'].checkValidity();
    if (isValidForm)
    {
        document.forms['REGform'].submit();
    }
    else
    {

        return false;
    }

}
3 голосов
/ 30 января 2012

Проблема заключается в методе submit(), а не в использовании onclick (хотя вы не можете избежать первого, если хотите отправлять, используя JS вместо HTML).

Отправка с использованием JS приводит к тому, что этапы проверки формы пропускаются (хотя вы можете повторно реализовать их в JS (с помощью checkValidity()).

Метод submit () при вызове должен передать элемент формы из самого элемента формы с установленным флагом scripted-submit.

- http://www.w3.org/TR/html5/forms.html#dom-form-submit

Если флаг scripted-submit не установлен, а состояние no-validate элемента submit имеет значение false, то интерактивно проверяют ограничения формы и проверяют результат: если результат отрицательный (проверка ограничения пришла к выводу, что они были недействительными) поля и, вероятно, проинформировал пользователя об этом) затем прервать эти шаги.

- http://www.w3.org/TR/html5/association-of-controls-and-forms.html#form-submission-algorithm

0 голосов
/ 30 января 2012
<a class="button" href="javascript:document.forms['REGform'].submit(); return false;">Register</a>

или

<a onclick="document.forms['REGform'].submit(); return false;" class="button">Register</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...