我的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”)是一个空值。
答案 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