我现在已经在网上搜索了两天,我即将放弃,但我已经接近最终解决方案......所以你是我最后的希望。 ;)
我使用Windows Forms GUI创建了一个小型C#应用程序,它使用webBrowser元素显示嵌入了TinyMCE编辑器的HTML文件 - 这样我就可以获得一个可以自定义编辑器功能的漂亮窗口,我可以完美地满足我的需求项目。 我可以为这个编辑器窗口设置textarea输入而不会出现问题,这要归功于stackoverflow上发布的这个解决方案:https://stackoverflow.com/a/16322324/3498545
但是我从这个文本区域阅读文本时遇到了很大麻烦。如果我在上面的解决方案中按ID显示ID(用于设置内容),我会得到旧文本,因为TinyMCE从未真正保存更改。 但是如何通过TinyMCE获取用户在textarea中的输入?有没有办法在HTML中触发表单发送以获得此输入?
非常感谢你的帮助!
答案 0 :(得分:0)
好的,回答我自己的问题(也许其他人稍后会发现这个问题很有用):
TinyMCE的更改不会实时写回textarea字段,所以我不得不解决这个问题。一种解决方案是在javascript标头中添加一些内容,将每个更改立即写回textarea,但这会给我带来问题,因为此时不涉及TinyMCE代码清理。 我的解决方案是临时创建一个新文件,其中TinyMCE字段的输入直接写入源代码,这是用C#读回来的小菜一碟。
所需的javascript代码如下所示:
setup : function(editor){
editor.on('submit', function (){
tinymce.triggerSave();
document.writeln("<!DOCTYPE html><html><body><div id='content'>"+document.getElementById('textarea').value+"</div></body></html>")
document.close()
});
}
之后,您可以使用以下代码阅读C#中的内容:
webBrowser.Document.GetElementById("content").InnerHtml
现在我可以在我的SQL数据库中存储HTML格式的代码,可以使用闪亮的界面进行管理和编辑。 ;)