Показать сообщение отдельно
  #7 (permalink)  
Старый 14.08.2016, 14:24
Новичок на форуме
Отправить личное сообщение для zhemkan Посмотреть профиль Найти все сообщения от zhemkan
 
Регистрация: 13.08.2016
Сообщений: 6

<script>
function validateform()
	{
		var MAXNTEXTLENGTH = 200,

abuse='fuck,suck,dick,pussy',

msgs={
    2:'Text must be longer than '+ MAXNTEXTLENGTH +' characters',
    3:'Text should not contains words like '+abuse,
},

validate=function(){

    var txt = form.n_text.value.trim();

    if(txt.length<MAXNTEXTLENGTH) throw 2;

};

form.addEventlistener('submit',function(e){

    try{
        validate();
    }
    catch(msgn){
        e.preventDefault();
        alert(msgs[msgn]);
        return false;
    };

});
}
</script>


или

<script>
function validateform()
	{
var MAXNTEXTLENGTH = 200;

form.addEventlistener('submit',function(e){

    if(form.n_text.value.trim().length<MAXNTEXTLENGTH) {
        e.preventDefault();
        alert('Text must be longer than '+ MAXNTEXTLENGTH +' characters');
        return false;
    }

});	
}
</script>


не вызывают вообще никаких реакций при выполнении.

Ckeditor создает поверх моего textarea свой Body внутри Iframe. Актуальное количество символов передается в мой textarea только после выполнения функции.
Я добавил alert (dlina);, сразу после загрузки страницы я нажимаю "Отправить", получаю в окошке цифру 8, что соответствует кол-ву символов в строке "Текст...", который по умолчанию загружается в textarea при загрузки страницы. Если я добавлю еще 2 символа после "Текст...", то по нажатию "Отправить" я снова вижу 8, однако, если я ничего не изменяю, и снова нажимаю на "Отправить", то уже получаю актуальное значение - 10. И так всегда - актуальное значение я вижу только после двойного нажатия (двойного запуска функции).
Как избавиться от этого, учитывая такую особенность ckeditor?

Последний раз редактировалось zhemkan, 14.08.2016 в 14:35.
Ответить с цитированием