DotNetNuke 8.0.3 Html 模块 Ckeditor 在 js 验证后被移除
DotNetNuke 8.0.3 Html module Ckeditor removed after js validation
我在自定义模块中有一个 HTML 模块 (Ckeditor)。
我有一个在编辑器上执行客户端验证的 RequiredFieldValidator。当事件验证触发时,HTML 模块消失。
没有任何回发,因此我们无法通过代码隐藏进行绑定。
如果我们进行回发,Ckeditor 会返回。
我也遇到了同样的问题,但是用下面的方法解决了。
此错误的原因,当我们单击验证按钮时,CK 编辑器调用 'destroy()' 函数。如果我们重写那个函数就没问题了。
我的代码
<dnn:TextEditor ID="txtDescription" Width="100%" Height="200" runat="server"
HtmlEncode="True" DefaultMode="Rich" ChooseMode="False" ChooseRender="False" Mode="Rich" />
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click"
ValidationGroup="save" OnClientClick="editorsDestroy()" CssClass="btn btn-primary btn" />
<script type="text/javascript">
function editorsDestroy()
{
try
{
CKEDITOR.instances.<%=txtDescription.ClientID%>_txtDescription.destroy=function(){ return true; }
} catch (ex) { alert(ex) }
}
</script>
我在自定义模块中有一个 HTML 模块 (Ckeditor)。
我有一个在编辑器上执行客户端验证的 RequiredFieldValidator。当事件验证触发时,HTML 模块消失。 没有任何回发,因此我们无法通过代码隐藏进行绑定。 如果我们进行回发,Ckeditor 会返回。
我也遇到了同样的问题,但是用下面的方法解决了。
此错误的原因,当我们单击验证按钮时,CK 编辑器调用 'destroy()' 函数。如果我们重写那个函数就没问题了。
我的代码
<dnn:TextEditor ID="txtDescription" Width="100%" Height="200" runat="server"
HtmlEncode="True" DefaultMode="Rich" ChooseMode="False" ChooseRender="False" Mode="Rich" />
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click"
ValidationGroup="save" OnClientClick="editorsDestroy()" CssClass="btn btn-primary btn" />
<script type="text/javascript">
function editorsDestroy()
{
try
{
CKEDITOR.instances.<%=txtDescription.ClientID%>_txtDescription.destroy=function(){ return true; }
} catch (ex) { alert(ex) }
}
</script>