开发者

How to empty TINYMCE content after ajax action with jquery

开发者 https://www.devze.com 2023-01-19 11:29 出处:网络
I add contents in some input fields and textareawith jquery ajax function. Only textare uses TINYMCE.

I add contents in some input fields and textarea with jquery ajax function. Only textare uses TINYMCE.

However after ajax, the text in TINYMCE does not refresh and remains.

How can I empty content in TINYMCE with jquery?

My current code it following.

//on submit event
    $("#specformentry").submit(function(event){
        event.preventDefault();
        if(checkForm()){
          //  var href = $(this).attr("href");
            submitinput.attr({ disabled:true, value:"Sending..." });
            //$("#send").blur();
            //send the post to shoutbox.php
            $.ajax({
                type: "POST",
                url: "../../Ajaxinsertspec",
                data: $('#specformentry').serialize(),
                complete: function(data){
                     update_entry();
                     specdesc.val('');
                     datecreated.val('');
                     detailstext.val('');
               // this code is supposed to empty the INYMCE content, but it does not

                    //reactivate the send button
                    submitinput.attr({ disabled:false, value:"Enter Spec" });
                }
             });
        }
        else alert("Please fill all fields!");
        //we prevent the refresh of the page after submitting the form
        return false;
    });

And the following is a part of HTML

<div id="enterlabel"><label for="sp开发者_如何学Goec_details">Click me to enter Spec Details</label></div>
<div style="display: block;" id="textarea">
<textarea style="display: none;" name="spec_details" cols="90" rows="12" id="detailstext"></textarea>
<span class="mceEditor defaultSkin" id="detailstext_parent">
    <table style="width: 100px; height: 100px;" class="mceLayout" id="detailstext_tbl" cellpadding="0" cellspacing="0">
        <tbody><tr class="mceFirst">
          <td class="mceToolbar mceLeft mceFirst mceLast"><a href="#" accesskey="q" title="Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to...
...


You do not need jQuery to empty tinymce. Get the tinymce instance by id and set the content to '' (equals empty) using

//the id of the first editorinstance of the page is to be found in tinymce.editors[0].id

var tinymce_editor_id = 'my_tinymce_id'; 
tinymce.get(tinymce_editor_id).setContent('');


This worked for me:

tinyMCE.activeEditor.setContent('');

Especially if it's the only editor existing in your page.


Try with below code

if (typeof(tinyMCE) != 'undefined') {  
  $('#edit-comment').val('');  // Removes all paragraphs in the active editor   
}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号