Вход

Просмотр полной версии : валидация textarea


imediasun1
31.10.2013, 17:13
Подскажите как сделать проверку не превышает ли поле 100 символов до отпраки формы на сервер при нажатии submit

<div class ="article_admin_1">
<div id="<?='editorsm_'.$value['id_slide'];?>" style="position:relative;display:block">
<form id="<?='form_article_'.$value['id_slide'];?>" action="/functions/change_article" method="post">
<p>
<label for="editor1">
<h3>Редактирование Заголовка №1 на главной странице</h3>
</label>
<textarea class="ckeditor" cols="80" id="editor1_1" name="editor1" rows="10"><?=$value['text'];?></textarea>
<input type="hidden" name="return" value="http://vs-group.com.ua/admin/pages/slider">
<input type="hidden" name="id" value="id_slide">
<input type="hidden" name="model" value="slider_model">
<input type="hidden" name="editor1_id" value="<?=$value['id_slide'];?>">
</p>
<p>
<input id="editor_submit_1" type="submit" value="Submit">
</p>
</form>
</div>
</div>

imediasun1
31.10.2013, 17:33
Я пытался использовать такое ограничение символов

$("textarea").keyup(function() {
if (this.value.length > 100)
this.value = this.value.substr(0, 100);
});

Но из за того что текстареа в плагине ckeditor данное ограничение не срабатывает, есть какие то идеи как ограничить количество символов все таки используя ckeditor?

danik.js
31.10.2013, 19:49
Я пытался использовать такое ограничение символов



Зачем??!!!??? Все гораздо проще:

<textarea name="" id="" cols="30" rows="10" maxlength="10"></textarea>

Но из за того что текстареа в плагине ckeditor данное ограничение не срабатывает, есть какие то идеи как ограничить количество символов все таки используя ckeditor?

Там есть событие, которое происходит при изменении значения (вроде change). Вот по нему проверяй длину. А может и спец-опция для этого дела имеется.

imediasun1
31.10.2013, 19:58
в том то и дело что скорее всего какой то специальный код требуется, да вот какой, а maxlength тоже не работает в нем

imediasun1
01.11.2013, 00:44
Есть вот такой код, он в итоге в алерте выводин обрезанную строку до 50 символов, но как эту строку вставить опять в CKEDITOR textarea?помогите разобраться

function ck()
{
var editor = CKEDITOR.replace('editor1_1');
editor.on("instanceReady", function(){
this.document.on("keyup", ck_jq);
/* this.document.on("paste", ck_jq); */

});
}
});
function ck_jq()
{
var len = CKEDITOR.instances['editor1_1'].getData().replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi, '').replace(/^\s+|\s+$/g, '');
if (len.length > 50){
len = len.substr(0, 50);
alert(len);
}
}

danik.js
01.11.2013, 04:34
http://divgo.wordpress.com/2013/01/04/ckeditor-maxlength-plugin/