0

我的 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") 行是一个空值。

4

1 回答 1

3

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

HTML编辑器:

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

jQuery:

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

HTMLEditorExtender:

这适用于推荐使用控件的HTMLEditorExtender哪个HTMLEditor

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

jQuery:

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

或 JavaScript

document.getElementById('<%=txtEditor.ClientID%>').value
于 2012-10-23T15:14:41.267 回答