我有几个 <asp:TextBox TextMode="MultiLine"> 页面上的元素。加载时,我填充它们(通过后面的VB代码),然后将它们转换为tinymce编辑器(通过jquerytinymce插件)。每个文本框也有一个与其关联的按钮,目的是将文本送回代码,以便插入数据库。
<asp:TextBox TextMode="MultiLine">
我之前发现,当单击提交按钮时,我必须将编辑器的内容“保存”到文本框中,但这不是我的问题。即使我这样做了,编辑也不会显示在代码后面。
正如我所提到的,我正在使用jquery。这是我的点击处理程序。请记住,所有按钮都是ASP.NET中的提交按钮,因此 submit 班级:
submit
$('input.submit').live('click', function() { tinyMCE.EditorManager.triggerSave(); });
所以,当 任何 单击提交按钮 全部的 Tinymce编辑器已触发其保存事件。执行完后,我检查了我要查找的文本区域的值(同样,通过javascript),它似乎进行了编辑(我使用的是chrome的开发工具和console.log):
console.log($(this).parent().find('textarea').val());
不过,在服务器端,在提交按钮的单击处理程序中没有看到任何编辑:
Dim paragraph As String = Me.myTextArea.Text ' Results in the original text, not the edited text
其他说明:
EnableEventValidation="false"
ValidateRequest="false"
$(this).tinymce({ script_url : '../scripts/tiny_mce.js', theme: 'advanced', plugins: 'save', theme_advanced_buttons1 : 'bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,image,link,unlink,|,fontsizeselect,forecolorpicker', theme_advanced_buttons2 : '', theme_advanced_buttons3 : '', content_css : '../css/landingpage-tinymce.css', onchange_callback: function(ed) { ed.save(); } });
onchange_callback