2012-08-13 21 views
0

我有一个RadEditor,带有必需的字段验证程序。必填字段验证的错误消息仅在回发后消失。它在radeditor中输入任何文本后不会消失。RadEditor验证邮件只有在回发后才会发生

我试图为onblur事件编写javascript并隐藏错误消息。但它在IE8中没有按预期工作。一旦我输入任何文本,错误消息正在消失,但如果我删除文本并使radditor再次变为空白,我不会再收到错误消息。因此它没有正确验证所需的字段。

我为“的onblur”事件编写的JavaScript的:

function DisableRequiredMessage(editor, args) { 
var element = document.all ? editor.get_document().body : editor.get_document(); 
$telerik.addExternalHandler(element, "blur", function(e) { 
var editor1 = $find("ctl00_ContentPlaceHolder1_ContractExpirationAlertEditor"); 
var message1 = editor1.get_html(); 
if (message1 == '<br>' || message1 == '<p>&nbsp;</p>') 
document.getElementById('ctl00_ContentPlaceHolder1_spnEmailBody').style.display = 'block'; 
else        
document.getElementById('ctl00_ContentPlaceHolder1_spnEmailBody').style.display = 'none'; 
}); 
} 

我也试图比较的文本的长度和乐队一样:

var editor2 = $find("ctl00_ContentPlaceHolder1_ContractPendingEContractEditor"); 
var message2 = editor2.get_text(); 
if (message2.length > 1) 
document.getElementById('<%=spnContrPendngEmail.ClientID %>').style.display = 'none'; 

if (message2.length == 0 || message2.length == 1) 
document.getElementById('<%=spnContrPendngEmail.ClientID %>').style.display = 'block'; 
+0

哪里可以调用'DisableRequiredMessage'函数? – yogi 2012-08-13 07:58:56

+0

在radeditor onclientload事件中。 sjs 2012-08-13 08:10:21

回答

0

您可以连接到keydown eventOnClientSelectionChange事件并检查内容区域是否为空。如果它是空的,则显示错误消息。

+0

非常感谢。这很有帮助。我试图使用Keydown事件,它的工作。 – sjs 2012-08-17 09:12:31

+0

问题是即使按键事件,我必须得到radeditor的内容。 如果内容为空,我应该显示所需的错误消息。 当我在删除所有文本后检查radeditor中的文本长度时,它在IE中显示长度为6/13(而不是0)。 我试图用get_html()检查html文本。它显示存在

 


。 当我试图比较文本与此
等(如上一篇文章中的代码所述), 循环在IE中根本没有得到执行。但是在Mozilla中同样工作正常。 – sjs 2012-08-17 12:25:19

+0

主要问题:“RequiredField错误消息”仅在回发后消失。在我们在rad编辑器中输入任何文本之后不是解决方案我尝试过:在“onblur”或“Keypress”事件中,比较文本的长度或在相同的事件中比较存在的html文本。如果html类似
或 ,然后尝试隐藏错误消息。但两种解决方案(比较长度和html文本)在IE和Moz失败。有时它显示radeditor中的html为
,但仍不隐藏错误消息。请提出一些解决方案。 – sjs 2012-08-18 08:09:40

相关问题