首页 > 解决方案 > SummernotedirtyForm

问题描述

我正在使用 Summernote 所见即所得的形式来编写产品描述。
现在我正试图让它与 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');
        }
    });


};

标签: javascriptjquerysummernotejquery-dirtyforms

解决方案


解决了。

 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');
        }
    });
};

推荐阅读