Summernote dirtyForm

Я использую SummerNote Wysiwyg в форме для написания описания продукта.
Теперь я пытаюсь заставить его работать с грязными формами jQuery.
Работает только в режиме просмотра кода.
После изменения контент должен выглядеть как грязный.
Если форма грязная, кнопка сохранения должна быть недоступна (рис. 1).
Как я могу проверить, изменилось ли текстовое поле summernote? (содержание было изменено).

Это код для грязной проверки.

var formUpdateChecker = function() {
    $s.DirtyForms.ignoreClass = 'ignore-dirty';

    $s('form#product-update, form#form-discount, form#draftComanda, form#product-add, #form--addNewAddress, #form--editAddress').dirtyForms({
        message: 'Ai facut modificari care ar putea sa nu fie salvate.'
    });


    $s('form#product-update, form#form-discount, form#draftComanda, form#product-add, #descriere').on('dirty.dirtyforms clean.dirtyforms summernote.change', function(ev) {
        var $form = $s(ev.target);
        var $submitResetButtons = $s('.btn-save');


        if (ev.type === 'dirty') {
            $submitResetButtons.removeAttr('disabled').addClass('btn-primary').removeClass('btn-default');
        } else {
            $submitResetButtons.attr('disabled', 'disabled').removeClass('btn-primary').addClass('btn-default');
        }
    });


};

1 ответ

Решение

Решаемые.

 var summernoteDirty = function(){
    var text_content = $s('#descriere').html();
    var new_text_content;
    var $submitResetButtons = $s('.btn-save');


    $s('#descriere, .note-codable, .note-editable').on('summernote.change dirty.dirtyforms clean.dirtyforms', function(){
        new_text_content = $s('.note-editable').html();

        if(text_content !== new_text_content){
            $submitResetButtons.removeAttr('disabled').addClass('btn-primary').removeClass('btn-default');
        }else{
            $submitResetButtons.attr('disabled', 'disabled').removeClass('btn-primary').addClass('btn-default');
        }
    });
};
Другие вопросы по тегам