TinyMCE <br data-mce-bogus="1"/>在空文本区随机设置

时间:2018-02-20 10:06:43

标签: html tinymce-4

我已经搜索了这个<br data-mce-bogus="1">,但找不到任何可行的解决方案。

当我的textarea为空时它会随机发生,我提交表单时有时会返回<br data-mce-bogus="1">或保持为空。

我已经尝试通过以下方式从我的php进程中清除它:

if(!empty($value) AND $value!='<br data-mce-bogus="1">'){
   #input to database 
}

有没有来自javascript的解决方案?

这是我如何启动tinymce:

tinymce.init({
selector:'textarea.tinymce-input',
height: 500,
menubar: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor textcolor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table contextmenu paste code help wordcount'
],
toolbar: 'insert | undo redo |  formatselect | bold italic backcolor  | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | help',
force_br_newlines : true,
forced_root_block : '',
});

1 个答案:

答案 0 :(得分:0)

它不是随机发生的。仅当您在文本区域内单击一次,然后提交表单或在外部的某个位置单击而不在Tiny MCE文本区域中输入任何内容时,该值才设置为。

解决方案:

尝试使用事件侦听器更改内容字段。为此,请使用“设置:”,如下所示:

tinymce.init({
selector:'textarea.tinymce-input',
height: 500,
menubar: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor textcolor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table contextmenu paste code help wordcount'
],
toolbar: 'insert | undo redo |  formatselect | bold italic backcolor  | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | help',
force_br_newlines : true,
forced_root_block : '',
setup : function(ed) {
  ed.on('blur change cut copy keyup paste', function(e){
  var tinyMceData = tinyMCE.activeEditor.getContent({ format: 'raw' });
  if(tinyMceData.indexOf('<br data-mce-bogus="1">') >= 0) {
    tinyMceData = "";
    tinyMCE.activeEditor.setContent('', { format: 'raw' });
  }
  //Here you can validate your other content related validations
});
}
});