我的表单使用TinyMCE格式化HTML,但不知何故,内容在首次提交时始终为空白。这就是我对提交功能的要求:
$('#commentForm').click('submit', function () {
tinyMCE.triggerSave(true, true);
$(this).ajaxSubmit({
success: function (result) {
if (result.success) {
$('#commentForm')[0].reset();
var newComment = { comment: result.comment };
// Append the new comment to the div
$('#commentTemplate').tmpl(result.comment).appendTo('#commentsTemplate');
}
$('#commentFormStatus').text(result.message);
}
});
return false;
});
我已添加tinyMCE.triggerSave(true,true);
但似乎无效。有什么建议吗?
感谢。
答案 0 :(得分:19)
尝试替换
tinyMCE.triggerSave(true, true);
通过
tinyMCE.get("id").save();
其中“id”是您的textarea的ID。
答案 1 :(得分:3)
重要提示:如果您在同一个textarea上调用tinymce()两次或更多次,则任何save()方法都可能无效。 (我在每个DOM更改时都调用了函数)
所以,我通过删除类来解决这个问题:
$('textarea.tinymce').each(function(){
$(this).removeClass('tinymce');
.......
答案 2 :(得分:1)
我不知道它是如何运作的。
我遇到了firefox的问题,我解决了使用这个工作原理
提交按钮:我的文字字段名为“Contenido”
tinyMCE.get("Contenido").setContent(tinyMCE.activeEditor.getContent());
document.getElementById("Contenido").value=tinyMCE.activeEditor.getContent();
答案 3 :(得分:1)
如果你的形式很少TINYMCE:在提交电话之前
jQuery(tinymce.get()).each(function(i, el){
document.getElementById(el.editorId).value = el.getContent();
});
答案 4 :(得分:1)
从版本4.2.5开始(可能更早),您似乎不需要做任何事情。它只是在编辑时保存值(可能是模糊)。
我注意到的事情是,不小心将TinyMCE多次应用于同一元素会停止正常的保存行为。这让我失败了所有其他解决方案,直到我注意到@Ксана Лысак
的解决方案在同一元素上运行each
两次。
在确定TinyMCE只能应用于每个textarea
一次之后,它在没有帮助的情况下工作得很好。
答案 5 :(得分:0)
好的解决方案。 КсанаЛысак
但对我来说需要稍加修改,可能是因为版本4.1,我不得不使用 el.id 而不是 el.editorId
$("#thesubmit").click(function(e){
$(tinymce.get()).each(function(i, el){
if(el.id)
document.getElementById(el.id).value = el.getContent();
});
答案 6 :(得分:0)
$('form').on('submit', function(form){
// save TinyMCE instances before serialize
tinyMCE.triggerSave();
var data = $(this).serialize();
$.ajax({
type: 'POST',
cache: false,
url: 'inc/process.php',
data: data,
success: function(){
console.log("Updates have successfully been ajaxed");
}
});
return false;
});