首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tinymce编辑器:单击表单中的另一个按钮时内容不更新

Tinymce编辑器:单击表单中的另一个按钮时内容不更新
EN

Stack Overflow用户
提问于 2016-07-04 03:55:57
回答 1查看 2.1K关注 0票数 0

我有以下表格:

代码语言:javascript
复制
<form method="post" action="example.com" id="form">
  <textarea id="content">{{$content_from_database}}</textarea>
  <button type="submit">Update</button>
</form>

我在表单中使用tinymce editor

代码语言:javascript
复制
 tinymce.init({ 
    selector:'textarea#content'
 });

在更新内容之后,单击submit按钮:

代码语言:javascript
复制
$('textarea#content').val() = 'old content'

内容仍然是旧的内容。

更新

Ajax代码:

代码语言:javascript
复制
$('#form').on('submit', function() {
  $.post(
   $(this).prop('action'), {
     "content": $('textarea[name=content]').val(),
   },
   function(d){
     console.log(d);
   },
   'text'
   ).done(function() {
     alert('successful');
   }).fail(function(e) {
     alert('failed');
   });
   return false;
}); 

我怎么才能解决这个问题?

请帮帮我!

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-07-06 03:44:09

如果使用AJAX提交表单,则需要使用tinyMCE.triggerSave() API调用获取TinyMCE以更新底层<textarea>

当加载TinyMCE时,原始<textarea>实际上被TinyMCE加载到页面中的iFrame和其他DOM元素“隐藏”。当您在TinyMCE中键入时,编辑器不会不断地保持<textarea>的同步。

调用tinyMCE.triggerSave()将迫使编辑器更新底层<textarea>,然后可以使用AJAX提交包含<textarea>的表单。

我怀疑您需要在代码的这一部分之前添加它,因为这似乎期望<textarea>具有正确的内容。

代码语言:javascript
复制
$(this).prop('action'), {
    "content": $('textarea[name=content]').val(),
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38176740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档