yarkov
@yarkov
Помог ответ? Отметь решением.

Почему не срабатывает обработчик submit?

На странице могут появляться и удаляться формы. Поэтому пишу так:
$( document ).on( 'submit', 'form.form', function ( event ) {
            event.preventDefault();
            const textarea = $( this ).find( 'textarea.textarea' );
            const val = textarea.val();
            const str = '\nsign_string';
            textarea.val( `${val}\n${str}` );
            return true;
    } );

При отправке формы тест на полсекунда появляется в textarea, но на сервер не уходит.
Подозреваю, что это из-за того, что на формах уже висит обработчик submit:
$( document ).on( "submit", "form[data-remote]", function ( e ) {
        e.preventDefault();
        var _frm = $( this ),
            _act = $( this ).attr( "action" );
        if ( !_act ) {
            return false
        }
        var _cb = function () {
            _frm.attr( "action", _act )
        };
        $( this ).ajaxSubmit( {
            dataType: "script",
            error: _cb,
            success: _cb
        } );
        $( this ).attr( "action", "" )
    } );

Можно ли как-то повесить свой обработчик перед теми, которые уже существуют?
  • Вопрос задан
  • 297 просмотров
Решения вопроса 1
yarkov
@yarkov Автор вопроса, куратор тега JavaScript
Помог ответ? Отметь решением.
Ребята! Решение найдено: jsfiddle.net/yarkov_aleksei/gv9wqa1s/1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Stopy
А где собственно сабмит вызывается? Ты его прерываешь, модифицируешь, но не отправляешь. Сделай в конце обработчика $(this).submit();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы