我想在Fancybox窗口中提交一个表单,用于预览目的;这看起来并不那么困难,因为一个简单的
$('#preview').fancybox({
ajax: {
type: "POST",
data: $('#form1').serialize()
}
});
能胜任这份工作
但事情从来没有这么容易过,TinyMCE编辑器(jQuery版本)增加了麻烦
我发现上面的代码没有发送更新的文本区域内容(不知道为什么),所以它对预览没有用处
我最终得到了这个:
$('#preview').click(function(e){
e.preventDefault();
$(this).fancybox({
ajax: {
type: "POST",
data: $('#form1').serialize()
}
});
})
那就可以了,但前提是我点击两次che#预览锚
似乎第一次点击"更新"文本区域内容,第二次点击打开Fancybox
你有更好的解决方案吗?我在谷歌上搜索了一下,但似乎没有"在预览fancybox窗口提交表格"的内容。。。
提前感谢。。。
您请求文本区域内容,但内容似乎不是最新的。这是因为tinymce编辑器的内容不在文本区域内,而是在可编辑内容的iframe内。前一个文本区域被隐藏。要更新隐藏的文本区域,可以使用tinymce.triggerSave()
$('#preview').click(function(e){
e.preventDefault();
tinymce.triggerSave();
$(this).fancybox({
ajax: {
type: "POST",
data: $('#form1').serialize()
}
});
})
或者直接从编辑器中获取tinymce内容
$('#preview').click(function(e){
e.preventDefault();
$(this).fancybox({
ajax: {
type: "POST",
data: tinymce.get('form1').getContent();
}
});
})