2012-08-13 2 views
0

У меня есть RadEditor с обязательным сертификатом поля. Сообщение об ошибке требуемой проверки поля исчезает только после сообщения назад. Он не исчезает после ввода какого-либо текста в radeditor.RadEditor Сообщение о проверке, отправляющееся только после обратной передачи

Я попытался написать javascript для события onblur и скрыть сообщение об ошибке. Но в IE8 он работает не так, как ожидалось. После ввода любого текста сообщение об ошибке исчезает, но если я удалю текст и снова сделаю радидитор пустым, я не получу сообщение об ошибке снова. Таким образом, он не проверяет правильные поля.

Javascript я написал для «ONBLUR» события:

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

+0

В событии radeditor onclientload. sjs

ответ

0

Вы можете прикрепить к keydown event или OnClientSelectionChange и проверьте, пуста ли область содержимого. Если он пуст, отобразите сообщение об ошибке.

+0

Большое вам спасибо. Это было полезно. Я попытался использовать событие Keydown, и он сработал. – sjs

+0

Проблема даже в событии keypress, я должен получить содержимое radeditor. Если содержимое равно null, я должен отобразить требуемое сообщение об ошибке. Когда я проверяю длину текста в radeditor после удаления всего текста, его длина показывается как 6/13 (вместо 0) в IE. И я попытался проверить html-текст, используя get_html(). Он показал наличие
или

 

или


. Когда я пытаюсь сравнить текст с этим
и т. Д. (Как упоминалось в кодах последнего сообщения), цикл не запускается вообще в IE. Но то же самое отлично работает в Mozilla. – sjs

+0

Основная проблема: сообщение об ошибке «RequiredField» исчезает только после сообщения назад. Не после ввода какого-либо текста в редакторе рада. Решение, которое я пробовал: в событии «onblur» или «Keypress», сравнивая длину текста ИЛИ в тех же событиях, сравнивая текст html. Если html похож на
или  , а затем пытается скрыть сообщение об ошибке. Но оба решения (сравнение длины и html-текста) Сбой в IE и Moz.Sometimes его показ html, присутствующего в radeditor, как
, но все же не скрывающий сообщение об ошибке. Пожалуйста, предложите некоторое решение. – sjs

 Смежные вопросы

  • Нет связанных вопросов^_^