0

如果我在模态中使用 wysihtml5,当我使用使用 wyshtml5 的表单打开模态时,它第一次可以正常工作。但是当我关闭模式,然后第二次打开它时,wysihtml5 功能不起作用它只显示文本区域而不是工具箱和 iframe。如果我关闭模型并再次打开它作为第一次工作文件。第四次出现同样的问题。换句话说,wysihtml5 在引导模式中交替工作。这是 wysihtml5 错误,或者我做错了什么?

$(document).ready(function(e) {      
    $('#description').wysihtml5();
});

<div class="modal-body">         
<div class="alert alert-danger error_block" style="display: none"></div>
<form action="#" id="post_updt" novalidate="novalidate" enctype="multipart/form-data">
    <div class="row">
        <div class="col-md-8">
            <div class="form-group">
                <label class="control-label">
                    <h4>Title <span class="required" aria-required="true">* </span></h4>
                </label>
                <div class="controls">
                    <input type="text" placeholder="Post Title" id="post_title" name="post_title" class="col-md-12 form-control" required="true" value="">
                </div><label id="post_title-error" class="help-block help-block-error" for="post_title"></label>
            </div>
        </div>

    <div class="form-group post_description">
        <label class="control-label">
            <h4>Description</h4>
        </label>
        <div class="controls"> 
            <textarea id="description" name="description" style="width: 100%; height: 200px; font-size: 14px; line-height: 18px; border: 1px solid #dddddd; padding: 10px;"></textarea>
        </div>
    </div>
    <div class="form-group event_dates hide">
        <label class="control-label">
            <h4>Event Dates <span class="required" aria-required="true">* </span></h4>
        </label>
        <div class="controls">
            <input type="text" placeholder="Event Dates" id="event_dates" name="event_dates" class="col-md-12 form-control">
        </div>
    </div>
</form> 

$(document).ready(function(e) {
    $("#post_type").change();      
    $('#description').wysihtml5();
});

$("#post_type").on('change', function () {
    var vl = $(this).val();
    $("#file_url").removeAttr("required");
    if (vl == 'Event') {
        $(".event_dates").removeClass("hide");
        $(".upld_document,.post_description").addClass("hide");
    } else if (vl == 'Document') {
        if($("#old_file").val()==""){
            $("#file_url").attr("required","true");
        }
        $(".upld_document").removeClass("hide");
        $(".post_description,.event_dates").addClass("hide");
    } else {
        $(".upld_document,.post_description").removeClass("hide");
        $(".event_dates").addClass("hide");
    }
});
4

1 回答 1

0

是的,有一个错误。在模态中使用 wysihtml5 时,应在显示的模态上对其进行初始化,并在模态消失时将其删除。

jQuery(document).ready(function () {

    $('#modal_Event').on('shown', function () {
        $('#description').wysihtml5();
    });

    $('#modal_Event').on('hidden', function () {
        $('.wysihtml5-sandbox, .wysihtml5-toolbar').remove();
        $('#description').show();//optional
    });

});
于 2020-04-18T13:42:24.930 回答