sayber 0 Опубликовано: 30 января 2008 Рассказать Опубликовано: 30 января 2008 (изменено) Добрый день. Вот пытаюсь в модуле добавления новостей в админке ограничеть кол-во символов в поле textarea - short_news Код из /editor/shortnews.php <textarea id="short_story" onKeyDown="textCounter(this.form.short_story);" onKeyUp="textCounter(this.form.short_story);" name="short_story" rows=4 cols=30>{$row['short_story']}</textarea> Код JS из /inc/addnews.php <script LANGUAGE="JavaScript"> <!--// function textCounter(field) { var maxlimit = 5; if (field.value.length > maxlimit) field.value = field.value.substring(0, maxlimit); else countfield.value = maxlimit - field.value.length; } //--> </script> Но почему то не работает. Если создать обычный html <script LANGUAGE="JavaScript"> <!--// function textCounter(field) { var maxlimit = 5; if (field.value.length > maxlimit) field.value = field.value.substring(0, maxlimit); else countfield.value = maxlimit - field.value.length; } //--> </script> <form> <textarea name=short_story cols=28 rows=4 onKeyDown="textCounter(this.form.short_story);" onKeyUp="textCounter(this.form.short_story);"></textarea> <br><small>Осталось <input readonly type=text name=remLen size=4 maxlength=3 value="5"> знаков </form> То все работает. Что делать?? Как можно ограничеть кол-во символов в поле textarea при добавлении новостей? Изменено 30 января 2008 пользователем sayber Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 30 января 2008 Рассказать Опубликовано: 30 января 2008 (изменено) sayber, если в визуальном редакторе то я даже не представляю как - видимо править файлы от Инновы, а в bb_code режиме так как написано у вас. Единственно что, строчка countfield.value = maxlimit - field.value.length;не верная на мой взгляд Изменено 30 января 2008 пользователем lifestar Цитата Ссылка на сообщение Поделиться на других сайтах
sayber 0 Опубликовано: 30 января 2008 Рассказать Опубликовано: 30 января 2008 Автор Я JS не знаю практически. Поэтому где что править хз.... А начальство требует что бы все работало. Пока не работает - они не хотят покупать лицензию. А я в свою очередь не хочу переходить на другой код. Т.к. этот уже хорошо знаю. Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 30 января 2008 Рассказать Опубликовано: 30 января 2008 sayber, вы лучше напишите что конкретно надо. в модуле добавления новостей в админке ограничеть кол-во символовэто следствие (одно из возможных решений), а что является причиной (задачей)? Цитата Ссылка на сообщение Поделиться на других сайтах
sayber 0 Опубликовано: 30 января 2008 Рассказать Опубликовано: 30 января 2008 (изменено) Автор Задачей: Что бы "Журналист" не мог добавить в краткую новость больше 400 символов. И что бы он это понял =) Если взять выше указанный пример, то там это реализованно. Больше символов не ввести. Изменено 30 января 2008 пользователем sayber Цитата Ссылка на сообщение Поделиться на других сайтах
sayber 0 Опубликовано: 31 января 2008 Рассказать Опубликовано: 31 января 2008 Автор Народ - ну кто может помочь??? Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 31 января 2008 Рассказать Опубликовано: 31 января 2008 ну я бы сделал так: написал "правило о 400 символах" и при отправке формы проверял + проверка на уровне php Цитата Ссылка на сообщение Поделиться на других сайтах
sayber 0 Опубликовано: 3 февраля 2008 Рассказать Опубликовано: 3 февраля 2008 Автор Это то понятно. Ну надо что бы именно визуально было видно. На php проверку я первым делом сделал. Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 3 февраля 2008 Рассказать Опубликовано: 3 февраля 2008 (изменено) Ну надо что бы именно визуально было видноя вам говорю вы из-за каприза остановили всю работу над сайтом, спрашивается - зачем? Посмотрите на гиганта простоты: на Гугль, там нет таких извращений, но тем не менее понятно что нужно сделать иили ввести. А при каждом нажатии клавиши делать проверку на яваскрипте... увольте. Даже если бы знал как это делать в паре с визуальным редактором - не стал бы. Пока писал текст - пришла мысль: попробуйте вместоonKeyUp="textCounter(this.form.short_story);" такую конструкциюonKeyUp="textCounter(oEdit1.getXHTMLBody());" Изменено 3 февраля 2008 пользователем lifestar Цитата Ссылка на сообщение Поделиться на других сайтах
sayber 0 Опубликовано: 4 февраля 2008 Рассказать Опубликовано: 4 февраля 2008 Автор Не работает ((( Капризы то не мои. Капризы Главного Редактора. Я пытаюсь ему обьяснить что фиг вам... а он по своей плоскости. Еще вопросик. Можно как то сделать такую вещь: Когда мы загружаем изображение в редактор больше по размеру чем указанно в конфиге, мы получаем первьюшку. Выглядет это [thumb=left]......[/thumb] А можно как то сделать чтобы не BB кодом а рисункуом. Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 4 февраля 2008 Рассказать Опубликовано: 4 февраля 2008 (изменено) Не работает (((ну попробуйте так: onKeyUp="alert(oEdit1.getXHTMLBody());" и посмотрите что выйдет в алерте. А можно как то сделать чтобы не BB кодом а рисункуом.Можно. я сделал так: файл engine/inc/files.php заменил function insertthumb(selectedImage, selectedThumbs) { imageAlign = document.forms['properties'].imageAlign.value;"; echo"if (imageAlign == 'center') finalImage = \"[center][thumb]\"+ selectedImage +\"[/thumb][/center]\"; else finalImage = \"[thumb=\"+ imageAlign +\"]\"+ selectedImage +\"[/thumb]\"; "; if(!$wysiwyg){echo"window.opener.doInsert(finalImage, '', false); window.focus();";} else{ echo" if(navigator.appName.indexOf('Microsoft')!=-1) { //Use dialogArguments.oUtil.obj to get editor object for IE version //----------------------------------------------------------------- var obj=dialogArguments.oUtil.obj; } else { //Use window.opener.oUtil.obj to get editor object for Mozilla version //-------------------------------------------------------------------- var obj=window.opener.oUtil.obj; } //Use insertHTML() function to insert your custom html obj.insertHTML(finalImage);"; } echo" } на function insertthumb(selectedImage, selectedThumbs, idImage) { finalImage = '<a id="'+idImage+'" href="'+selectedImage+'" class="highslide" onclick="return hs.expand (this, { captionEval: \'this.thumb.alt\' })">'; finalImage+= '<img src="'+selectedThumbs+'" align="left"/></a>'; if(navigator.appName.indexOf('Microsoft')!=-1) { //Use dialogArguments.oUtil.obj to get editor object for IE version //----------------------------------------------------------------- var obj=dialogArguments.oUtil.obj; } else { //Use window.opener.oUtil.obj to get editor object for Mozilla version //-------------------------------------------------------------------- var obj=window.opener.oUtil.obj; } //Use insertHTML() function to insert your custom html obj.insertHTML(finalImage); } Изменено 4 февраля 2008 пользователем lifestar Цитата Ссылка на сообщение Поделиться на других сайтах
sayber 0 Опубликовано: 4 февраля 2008 Рассказать Опубликовано: 4 февраля 2008 Автор Спасибо. Я немного поправил твой код. Кому надо: менять на function insertthumb(selectedImage, selectedThumbs, idImage) { finalImage = '<a id=\"'+idImage+'\" href=\"'+selectedImage+'\" class=\"highslide\" onclick=\"return hs.expand (this, { captionEval: \'this.thumb.alt\' })\">'; finalImage+= '<img src=\"'+selectedThumbs+'\" align=\"left\"/></a>'; if(navigator.appName.indexOf('Microsoft')!=-1) { //Use dialogArguments.oUtil.obj to get editor object for IE version //----------------------------------------------------------------- var obj=dialogArguments.oUtil.obj; } else { //Use window.opener.oUtil.obj to get editor object for Mozilla version //-------------------------------------------------------------------- var obj=window.opener.oUtil.obj; } //Use insertHTML() function to insert your custom html obj.insertHTML(finalImage); } onKeyUp="alert(oEdit1.getXHTMLBody());" не работает алерт Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.