HTMLEditor(来自AJAXToolkit)检查内容是否为空

时间:2012-10-23 14:39:13

标签: jquery asp.net

我的aspx文件中有一个HTMLEditor,id =“txtText”

我正在尝试编写一个JQuery函数来检查编辑器的内容是否为空。

我最初有:

function check()
{
    if($('#txtText').val() == '')
    {
         return false;
    }
    return true
}

然而,当我添加一个警告框以找出为什么这不起作用。我意识到HTMLEditor的.val()属性总是未定义的(编辑器是否有文本或没有文本)。

我尝试使用$('#txtText')。content(),这就是我在代码隐藏(C#)中访问数据的方式,但这似乎不适用于JQUERY。

经过一些研究后,我发现了这个网站:http://forums.asp.net/t/1549543.aspx/1

我有非常熟悉的代码,因此我也创建了自己的自定义编辑器,它继承自AJAXToolkitEditor中的编辑器。

<cc1:CustomEditor ID="txtEditor" Height="600px" runat="server" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Button ID="Button1" OnClientClick="getImageContent()"
    runat="server" Text="Button" OnClick="saveContent" />
<asp:HiddenField ID="HiddenField1" runat="server" />

发布的代码对我不起作用:

function getImageContent() {
var editor = $find("txtEditor");
var editPanel = editor.get_editPanel();
var designPanel = editPanel.get_modePanels()[0];
var s = designPanel.get_content();

document.getElementById("HiddenField1").value = s;

}

行var editor = $ find(“txtEditor”)是一个空值。

1 个答案:

答案 0 :(得分:3)

您可能需要使用一些服务器脚本(ctl00_txtEditor)来获取生成的ClientID(类似<%=txtEditor.ClientID%>

<强> HTML编辑:

排序hack-ish但是这应该确定HTMLEditor控件客户端是否有内容(服务器端很容易通过txtEditor.Content检查)

jQuery的:

$('#<%=txtEditor.ClientID%>').find('iframe').eq(2).contents().find('body').html()

<强> HTMLEditorExtender:

这适用于使用HTMLEditor控件HTMLEditorExtender recommended的{{3}}

  

注意:我们建议您使用新的HtmlEditorExtender而不是   本页描述的HtmlEditor控件。 HtmlEditorExtender   利用HTML5并与IE6及更高版本配合使用。

jQuery的:

$('#<%=txtEditor.ClientID%>').val()

或JavaScript

document.getElementById('<%=txtEditor.ClientID%>').value