tinyMCE ajax to save data
我已经看到许多关于tinyMCE和ajax的帖子,但是我无法使它正常工作-不是通过触发
这是我的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | $('#ss').submit(function (e) { e.preventDefault(); var ed = tinyMCE.get('elm1'); var data = ed.getContent() // tinyMCE.triggerSave(); // tinyMCE.get("elm1").save(); // var data = $(this).serialize(); console.log(data); $.ajax({ type: 'POST', cache: false, url: 'xtras/ssheetsave.php', data: data, success: function(){ console.log("Updates have successfully been ajaxed"); } }); return false; }); |
形式:
1 2 3 4 5 6 7 8 | <form id="ss" method="post" style="margin-top: 40px;"> <input type="hidden" id="cat_id" name="cat_id" value="<?php echo $id; ?>"> <textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%"> </textarea> <input type="submit" name="save" value="Submit" /> <input type="reset" name="reset" value="Reset" /> </form> |
和tinyMCE:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | tinyMCE.init({ // General options mode :"textareas", theme :"advanced", plugins :"autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,visualblocks", // save_onsavecallback :"ajaxSave", // Theme options theme_advanced_buttons1 :"save,cancel,|,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect,|,forecolor,backcolor", theme_advanced_buttons2 :"cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,cleanup,help,code,tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,advhr", theme_advanced_toolbar_location :"top", theme_advanced_toolbar_align :"left", theme_advanced_statusbar_location :"bottom", theme_advanced_resizing : true, // Style formats style_formats : [ {title : 'Bold text', inline : 'b'}, {title : 'Red text', inline : 'span', styles : {color : '#ff0000'}}, {title : 'Red header', block : 'h1', styles : {color : '#ff0000'}}, {title : 'Example 1', inline : 'span', classes : 'example1'}, {title : 'Example 2', inline : 'span', classes : 'example2'}, {title : 'Table styles'}, {title : 'Table row 1', selector : 'tr', classes : 'tablerow1'} ], // Replace values for the template plugin template_replace_values : { username :"Some User", staffid :"991234" } }); |
有人可以帮我解决这个问题吗? -基本上我什至没有在控制台
中获取数据
您需要在原始文本区域中使用"名称"值,并使用" getContent()"获取内容。
这直接来自他们的文档。
1 2 3 4 5 6 7 8 9 10 11 12 13 | tinymce.init({ selector:"textarea", plugins:"save", toolbar:"save", save_enablewhendirty: true, save_onsavecallback: function() { // USE THIS IN YOUR AJAX CALL alert(tinyMCE.get('ajax_text').getContent()); } }); <textarea name="ajax_text" /></textarea> |
基本上,我通过引入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $(document).on('submit','#ss',function (e) { e.preventDefault(); var ed = tinyMCE.get('elm1'); var data = ed.getContent(); var cat_id = $('#cat_id').val(); console.log(cat_id); $.ajax({ type: 'GET', cache: false, url: 'xtras/ssheetsave.php', data: 'data=' + escape(data) + '&cat_id=' + cat_id, success: function(){ $("#ss").remove(); $("#output").html(data); } }); return false; }); |
这是一个完整的工作示例,但js略有不同:
HTML:
1 2 3 4 5 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> <script src="https://tinymce.cachefly.net/4.1/tinymce.min.js"> <textarea id="prjOView" name="prjOView" rows="8" cols="73"></textarea> <button id="btnProjSave">Save</button> |
注意:就我而言,仅设置
JS / jQuery:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | $(document).ready(function(){ tinymce.init({ selector: '#prjOView', theme: 'modern', width: 600, height: 300, plugins: [ 'advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker', 'searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking', 'save table contextmenu directionality emoticons template paste textcolor' ], content_css: 'css/content.css', toolbar: 'insertfile undo redo | styleselect | sizeselect | bold italic | fontselect | fontsizeselect | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media fullpage | forecolor backcolor emoticons' }); //tinyMCE $('#btnProjSave').click(function(){ var mi = tinymce.get('prjOView').getContent(); alert(mi); //The data is now in var `mi`, use AJAX to save via PHP $.ajax({ type: 'post', url: 'path_to_your_php_file.php', data: 'tinydata=' +mi, success:function(){ } }); }); }); //END document.ready |
文件path_to_your_php_file.php:
1 2 3 | <?php var $tinydata = $_POST['tinydata']; //the data is now in the above var. Do what you need to do. |
有关如何使用AJAX的一些基本示例,请参见这篇文章
您需要使用" elm1"而不是" content"
1 | var ed = tinyMCE.get('elm1'); |