LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
28.05.2012, 00:52:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: лимит в textarea  (Прочитано 3259 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Mirsaytov
Осваиваюсь на форуме
***

Репутация: +15/-0
Offline Offline

Сообщений: 78


« : 25.04.2009, 01:06:24 »

Здравствуйте. Столкнулся с проблемой: при добавлении большого кол-ва текста в поле textarea, его часть обрезается. Подскажите пожалуйста как можно снять данный лимит? Заранее спасибо!
Записан
pedrosoft
Moderator
*****

Репутация: +111/-7
Offline Offline

Пол: Мужской
Сообщений: 596



« Ответ #1 : 25.04.2009, 19:22:22 »

менять тип поля в БД на более емкий
Записан
Mirsaytov
Осваиваюсь на форуме
***

Репутация: +15/-0
Offline Offline

Сообщений: 78


« Ответ #2 : 25.04.2009, 19:49:11 »

а на какой тип поля можно сменить textarea?
Записан
ART-DELI
Живу я здесь
******

Репутация: +73/-9
Offline Offline

Пол: Мужской
Сообщений: 1253


Не успеешь ты – сделают другие.


« Ответ #3 : 25.04.2009, 19:58:48 »

менять тип поля в БД на более емкий
Да но походу это таблица jos_sobi2_fields поле jos_sobi2_fields_data имеет тип text.
Это у меня.. Но я вроде что то менял.. Короче проверь эту таблицу и тип поля.. Если что поставь text.
Записан
ART-DELI
Живу я здесь
******

Репутация: +73/-9
Offline Offline

Пол: Мужской
Сообщений: 1253


Не успеешь ты – сделают другие.


« Ответ #4 : 25.04.2009, 19:59:59 »

а на какой тип поля можно сменить textarea?
Textarea - это то что то выдешь в менеджере полей соби. В базе MySQL типы полей отличаются. Попробуй сделать то что я написал выше.
Записан
Mirsaytov
Осваиваюсь на форуме
***

Репутация: +15/-0
Offline Offline

Сообщений: 78


« Ответ #5 : 25.04.2009, 20:24:50 »

спасибо, буду пробовать
Записан
GoldMan
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 26


« Ответ #6 : 27.04.2009, 00:03:36 »

Здравствуйте. Столкнулся с проблемой: при добавлении большого кол-ва текста в поле textarea, его часть обрезается. Подскажите пожалуйста как можно снять данный лимит? Заранее спасибо!
большого это на сколько большого?
Записан
Mirsaytov
Осваиваюсь на форуме
***

Репутация: +15/-0
Offline Offline

Сообщений: 78


« Ответ #7 : 27.04.2009, 12:03:39 »

после около 37 500 символов, текст обрезается.
Записан
Diiimonn
Давно я тут
****

Репутация: +28/-0
Offline Offline

Сообщений: 264



« Ответ #8 : 29.04.2009, 14:17:31 »

В БД в соответствующем поле надо поставить LONGTEXT.Допустим у меня поле "Описание" имеет тип "textarea",тогда в БД /sobi2_fields_data/data_txt нажимаю карандаш и меняю.

И как бы продолжая тему может кто знает как програмно ограничить число вводимых символов в это поле.если можно поподробнее.
Записан
ART-DELI
Живу я здесь
******

Репутация: +73/-9
Offline Offline

Пол: Мужской
Сообщений: 1253


Не успеешь ты – сделают другие.


« Ответ #9 : 29.04.2009, 17:24:21 »

А в соби в управлении полями, разве нету свойства Max. Length ??
Записан
Diiimonn
Давно я тут
****

Репутация: +28/-0
Offline Offline

Сообщений: 264



« Ответ #10 : 30.04.2009, 10:31:18 »

Только для inputbox
Записан
ART-DELI
Живу я здесь
******

Репутация: +73/-9
Offline Offline

Пол: Мужской
Сообщений: 1253


Не успеешь ты – сделают другие.


« Ответ #11 : 30.04.2009, 11:37:35 »

Здрасьте.. Я только что сам проверял, есть такой и для textarea
Записан
Diiimonn
Давно я тут
****

Репутация: +28/-0
Offline Offline

Сообщений: 264



« Ответ #12 : 30.04.2009, 15:14:31 »

А где именно есть?Может я не там смотрю, но напротив поля Max. Length есть надпись "Maximum number of characters. Valid only if inputbox is the selected type" что примерно означает что для textarea не действует
Записан
ART-DELI
Живу я здесь
******

Репутация: +73/-9
Offline Offline

Пол: Мужской
Сообщений: 1253


Не успеешь ты – сделают другие.


« Ответ #13 : 30.04.2009, 15:16:09 »

Та незнаю.. У меня есть такое поле и я могу ввести значение..  laugh
Записан
selimoff
JComments Tester
*

Репутация: +15/-0
Offline Offline

Пол: Мужской
Сообщений: 319


heads up!!!


« Ответ #14 : 17.06.2009, 00:46:31 »

А где именно есть?Может я не там смотрю, но напротив поля Max. Length есть надпись "Maximum number of characters. Valid only if inputbox is the selected type" что примерно означает что для textarea не действует
Попробуйте такого:
Код:
<script language="javascript" type="text/javascript">
<!--
    function imposeMaxLength(Object, MaxLen)
    {
    return (Object.value.length <= MaxLen);
    }
-->
</script>


<textarea name="myName" onkeypress="return imposeMaxLength(this, 15);" ><textarea>
Записан
terveg
Давно я тут
****

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 273


ставь "+" руки не отсохнут


« Ответ #15 : 21.08.2010, 21:09:53 »

Здрасьте.. Я только что сам проверял, есть такой и для textarea
НЕТ ДЛЯ TEXTAREA ОГРАНИЧЕНИЯ в настройках, только вывод ширины высоты. Тут другой вопрос-НАОБОРОТ как ограничить textarea в SOBI2? ато слишком длинные тексты дурной пользователь может вводить(((

<textarea cols="20" rows="5" onkeydown="return limitLength(this,20)"></textarea>

Код Javascript:
function limitLength(o,max)
{
   if (o.value.length >= max)
   {
      alert("Длина данных в этом поле ограничена " + max + " символами.");
      return false;
   }
   return true;
}


Источник: http://jscript.ru/archives/18


selimoff
а в каком файле править? form.class.php или field.class.php ?
вот один кусок
$textarea = "<textarea {$rows} {$columns}  id=\"{$field->fieldname}\" name=\"{$field->fieldname}\"  {$disabled}  {$cssClass} >{$value}</textarea>&nbsp;{$expl}";
а вот другой из field.class.php
$textarea = "<textarea {$rows} {$columns}  id=\"{$field->fieldname}\" name=\"{$field->fieldname}\" {$cssClass} >{$value}</textarea> {$expl}";
« Последнее редактирование: 21.08.2010, 21:16:34 от terveg » Записан
terveg
Давно я тут
****

Репутация: +17/-0
Offline Offline

Пол: Мужской
Сообщений: 273


ставь "+" руки не отсохнут


« Ответ #16 : 23.08.2010, 16:37:38 »

100% работающее решение нашел на форуме SOBI
Ищем в файле form.class.php строки в районе 209
case 2: // is textarea
$fields[$field->fieldname]['field'] = $this->isTextarea( $field );
break;


заменяем на следущий кусок
Цитировать
case 2: // is textarea
   /* Hack to limit number of characters in textarea field */
   $value = html_entity_decode($config->getSobiStr($this->item->customFieldsData[$field->fieldname]),ENT_QUOTES);
   $value = "{$value}";
   if ($field->fieldChars) {
       if($field->fieldRows) {
          $rows = "rows=\"{$field->fieldRows}\"";
       }
       else {
          $rows = "rows=\"10\"";
       }
       if($field->fieldColumns) {
          $columns = "cols=\"{$field->fieldColumns}\"";
       }
       else {
          $columns = "cols=\"40\"";
       }
       //$thisformfield = "this.form.".{$field->fieldname};
       $fields[$field->fieldname]['field'] = "\n<textarea id=\"{$field->fieldname}\" class=\"inputbox\" name=\"{$field->fieldname}\" {$columns} {$rows} onkeydown=\"limitText(this.form.{$field->fieldname},this.form.countdown{$field->fieldname},{$field->fieldChars});\" onkeyup=\"limitText(this.form.{$field->fieldname},this.form.countdown{$field->fieldname},{$field->fieldChars});\">{$value}</textarea><br /><font style=\"font-size:12px; color:#a9a9a9; font-style:italic;\" >Characters left: <input type=\"text\" name=\"countdown{$field->fieldname}\" size=\"1\" value=\"{$field->fieldChars}\" readonly=\"readonly\" style=\"border:none;color:blue;\" /></font>\n";
   }
   else {
       $fields[$field->fieldname]['field'] = $this->isTextarea( $field );
   }
   /* End hack */
      break;
до кода
case 3: // is checkbox
СОХРАНЯЕМ ФАЙЛ.

Далее нужно добавить кудато  ограничивающий скрипт-либо в файл шаблона форм, либо в шаблон сайта.
затем вставляем кусок скрипта (если пользуетесь своим шаблоном форм-сюда, если нет то в шаблон сайта поле <head> перед </head> )
Цитировать
<script language="javascript" type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
   if (limitField.value.length > limitNum) {
      limitField.value = limitField.value.substring(0, limitNum);
   } else {
      limitCount.value = limitNum - limitField.value.length;
   }
}
</script>
У меня работает 100%
Для того чтобы теперь можно ббыло ограничить кол-во символов в поле textarea SOBI внесите число в настройки поля (Максимальная длина) и будет Вам счастье!
в своем шаблоне форм (если пользуетесь) для вывода кол-ва отсавшихся символов добавьте
<?php echo $fields['countdown_field_desc_part']['field']; ?>




Вот мой пример шаблона для форм SOBI
Код:
<?php
defined( '_SOBI2_' ) || ( trigger_error("Restricted access", E_USER_ERROR) && exit() );
?>
<html>
<head>

<script language="javascript" type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
</script>

<style type="text/css">
.bgrnd {background-color: #eeeeee;}
.otstup {text-align: justify; padding: 5px 5px;}
.tablo {border-collapse: collapse; text-align: justify;}
</style>
</head>
<body>

<div class="bgrnd">
<?php echo $fields['field_rules']['field']; ?><br/>
<?php echo $requiredFieldsInfo; ?>
</div>

<table width="100%" class="tablo" border="0" align="left" valign="top">
<tr>
<td width="18%"><?php echo $fields['EntryName']['label']; ?></td>
<td><?php echo $fields['EntryName']['field']; ?></td>
</tr>

<tr>
<td width="18%"><?php echo $fields['field_city']['label']; ?></td>
<td><?php echo $fields['field_city']['field']; ?></td>
</tr>

<tr>
<td width="18%"><?php echo $fields['field_contry2']['label']; ?></td>
<td><?php echo $fields['field_contry2']['field']; ?></td>
</tr>

<tr>
<td width="18%"><?php echo $fields['field_email']['label']; ?></td>
<td><?php echo $fields['field_email']['field']; ?></td>
</tr>

<tr>
<td width="18%"><?php echo $fields['field_website']['label']; ?></td>
<td><?php echo $fields['field_website']['field']; ?></td>
</tr>

<tr>
<td width="18%"><?php echo $fields['field_contact_person']['label']; ?></td>
<td><?php echo $fields['field_contact_person']['field']; ?></td>
</tr>

<tr>
<td width="18%"><?php echo $fields['field_phone']['label']; ?></td>
<td><?php echo $fields['field_phone']['field']; ?></td>
</tr>

<tr>
<td width="18%"><?php echo $fields['field_price']['label']; ?></td>
<td><?php echo $fields['field_price']['field']; ?></td>
</tr>

<tr>
<td colspan=2 width="100%"><center><font color=red><?php echo $fields['field_desc_part']['label']; ?></font></center></td>
</tr>

<tr>
<td colspan=2 width="100%"><center><?php echo $fields['field_desc_part']['field']; ?><br/>  <?php echo $fields['countdown_field_desc_part']['field']; ?></center></td>
</tr>

<tr>
<td colspan=2 width="100%"><center><font color=red><?php echo $fields['field_description']['label']; ?></center></td>
</tr>

<tr>
<td colspan=2 width="100%"><center><?php echo $fields['field_description']['field']; ?></center><br/></td>
</tr>

<tr>
<td colspan=2 width="100%"><?php echo 'Добавить фото, картинку, изображение для Вашего объявления.<br/> Допускается загружать только файлы с расширениями <b>jpg, jpeg, gif, png</b>.<br/> Максимальный размер файла <b>500Кб</b>'; ?></td>
</tr>

<tr>
<td colspan=2 width="100%"><center><span><?php echo $fields['sobi_gallery_plugin']['field']; ?></span></center></td>
</tr>

<tr>
<td width="25%"><font color=red><?php echo $fields['field_vip']['label']; ?></font></td>
<td><?php echo $fields['field_vip']['payment']['box']; ?> <?php echo 'Изменить статус на VIP'; ?></td>
</tr>

<tr>
<td width="25%"><?php echo $fields['field_vip']['payment']['explanation']; ?></td>
<td><?php echo $fields['field_vip']['field'];?> &nbsp; <?php echo 'Отметьте обе галочки для перевода объявления в статус VIP' ;?></td>
</tr>

<tr>
<td width="18%"><?php echo $fields['Metakeys']['label']; ?></td>
<td><?php echo $fields['Metakeys']['field']; ?></td>
</tr>

<tr>
<td width="18%"><?php echo $fields['MetaDesc']['label']; ?></td>
<td><?php echo $fields['MetaDesc']['field']; ?></td>
</tr>

<tr width="100%"><?php echo $catChooser; ?></tr>
</table>

<div id="accept_rules_row">
<?php echo $fields['EntryRules']['label']; ?>&nbsp;&nbsp;&nbsp;
<?php echo $fields['EntryRules']['field']; ?>
</div>

<div class="otstup"><?php echo $cancelButton; ?>
<?php echo $sendButton; ?><br/></div>

</body>
</html>
Первоисточник http://www.sigsiu.net/forum/index.php/topic,12132.0/highlight,area.html
Кому помогло-ставим плюсик))
« Последнее редактирование: 31.08.2010, 13:27:04 от terveg » Записан
DATA
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 21


« Ответ #17 : 24.03.2011, 00:38:36 »

А в какое поле надо внести? Подскажите пожалуяста.
Записан
DATA
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 21


« Ответ #18 : 24.03.2011, 16:27:07 »

Спасиба!Решено! drink Yes! Cheesy
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet