Foundation 6 Abide - Как реализовать формуновалидат

У меня есть форма, которая использует Abide. Форма имеет две кнопки, обе являются type="submit", но у одной из них установлен атрибут formnovalidate. Эта кнопка предназначена для "предыдущего шага", поскольку она берет все, что пользователь заполнил, и отправляет форму, перенося пользователя на предыдущий шаг формы.

Проблема заключается в том, что постоянная проверка все еще включается, когда пользователь нажимает кнопку отмены, не позволяя пользователю вернуться назад, пока он не заполнит все поля на текущем шаге. Проверка HTML5 имеет атрибут formnovalidate именно для этого варианта использования. Есть ли способ "игнорировать / пропустить" проверку соответствия при нажатии кнопки отмены?

Ссылка на проблему на github: https://github.com/zurb/foundation-sites/issues/11426

1 ответ

Решено в проблеме с github. В настоящее время Фонд не поддерживает эту систему. Обходной путь - переписать обработчик отправки в Foundation JS. Я сделал это так:

.on( "submit.zf.abide", function( e ){
    var $btn = $(document.activeElement);
    if (
            /* there is an activeElement at all */
            $btn.length &&

            /* it's a child of the form */
            t.$element.has($btn) &&

            /* it's really a submit element */
            $btn.is('[type="submit"]') &&

            /* it has a "formnovalidate" attribute */
            $btn.is('[formnovalidate]')
    ) {
        return true;
    }else{
        return t.validateForm()
    }
})
Другие вопросы по тегам