X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Textarea. Определение высоты
rooty
rooty
Topic Starter сообщение 13.5.2011, 16:01; Ответить: rooty
Сообщение #1


Всем привет!
Весь день мучаюсь над проблемой:
Есть textarea, в которую попадает текст из переменной пхп.
Необходимо чтоб высота textarea была автоматически скорректирована до показа страницы..

Что-то типа:
<body onload='check(textarpole)'>

<script type=text/javascript>
function check(id){
var area = document.getElementById(id);
var curRows = area.rows;
var curScroll = area.scrollHeight;
var curClient = area.clientHeight;
resize();
function resize(){
if(curScroll > curClient && curRows != -1){area.rows = curRows+1;check(id);}
};
};
</SCRIPT>

<textarea id='textarpole' rows='8'>$anketa</textarea>



Я прекрасно понимаю, что написанный выше код - бред и работать не будет :)
Просто очень нужно такое по смыслу решение, или похожее..

textarea, меняющая свою высоту в завиимости от размера содержимого $anketa. Чтоб полоса прокрутки не отображалась..
Спасибо.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
P0ZiTR0N
P0ZiTR0N
сообщение 13.5.2011, 16:18; Ответить: P0ZiTR0N
Сообщение #2


Задам конечно странный вопрос - возможно ли просчитать количество строк в $anketa и при выводе textarea задать её конкретные размеры?
Например так:
[PHP]<?
$message ="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ac velit lacus. Nullam pharetra hendrerit odio. Mauris at tortor purus, sit amet lacinia nunc. Nullam vel dolor eu felis elementum feugiat sed elementum turpis. Aliquam rutrum sagittis magna, a ultricies nulla feugiat non. Nulla vel velit justo. Donec congue libero sed odio semper adipiscing. Ut id lorem diam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In ultricies rutrum consectetur. Phasellus auctor egestas faucibus. Maecenas diam justo, sodales ac ultrices accumsan, mattis a tellus. Nulla posuere cursus nunc id varius. Suspendisse auctor sagittis erat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc gravida urna a tortor feugiat sed vulputate arcu consectetur. Nunc diam tellus, facilisis a placerat eget, consequat ultricies ipsum.";
$cols = 50;
$rows = (strlen( $message )/$cols) +1; //+1 резервная
?>
<textarea rows="<?php echo $rows; ?>" cols="<?php echo $cols; ?>"><?php echo $message; ?></textarea>
[/PHP]
Скрытие полосы прокрутки:
[CSS] textarea {overflow-x: hidden; overflow-y: hidden}[/CSS]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rooty
rooty
Topic Starter сообщение 13.5.2011, 17:08; Ответить: rooty
Сообщение #3


P0ZiTR0N,
Все дело в том, что переменная $anketa берет свое значение из БД.
А значение там может быть такое:

[PHP]
<?
$message ="Lorem ipsum dolor sit amet,
consectetur adipiscing
elit. Nam ac velit lacus.
Nullam
pharetra hendrerit odio. Mauris at tortor purus, sit amet lacinia nunc.
Nullam vel dolor eu felis elementum
feugiat sed
elementum turpis.";
?>
[/PHP]

Вот тут проблема и вылезает.. если бы там была сплошная строка - то все именно так, как вы говорите :) делим на ширину textarea и получаем кол-во строк.
А тут строк может быть значительно больше, хотя символов "всего" может быть и меньше 50ти.. :((
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
P0ZiTR0N
P0ZiTR0N
сообщение 13.5.2011, 20:06; Ответить: P0ZiTR0N
Сообщение #4


Поковыряюсь на выходных... Но на вашем месте я бы сбил все выводящиеся данные в одну строчку, отпарсил на перевод строки и посчитал количество символов на выходе
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
P0ZiTR0N
P0ZiTR0N
сообщение 14.5.2011, 2:30; Ответить: P0ZiTR0N
Сообщение #5


Своё не было желания оперативно дописывать, в общем решил глянуть что уже есть готовое - первый же ответ в гугле... © Developed by Nikolay Borisov:
<?php $message ="Lorem ipsum dolor sit amet,
consectetur adipiscing
elit. Nam ac velit lacus.
Nullam
pharetra hendrerit odio. Mauris at tortor purus, sit amet lacinia nunc.
Nullam vel dolor eu felis elementum
feugiat sed
elementum turpis.Lorem ipsum dolor sit amet,
consectetur adipiscing
elit. Nam ac velit lacus.
Nullam
pharetra hendrerit odio. Mauris at tortor purus, sit amet lacinia nunc.
Nullam vel dolor eu felis elementum
feugiat sed
elementum turpis.Lorem ipsum dolor sit amet,
consectetur adipiscing
elit. Nam ac velit lacus.
Nullam
pharetra hendrerit odio. Mauris at tortor purus, sit amet lacinia nunc.
Nullam vel dolor eu felis elementum
feugiat sed
elementum turpis.";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="js/jquery.js" charset="utf-8"></script>
<script type="text/javascript" src="js/jquery.ata.js" charset="utf-8"></script>
<style>
#content textarea { width:300px; }
</style>
</head>
<body>
<div id="content">
<textarea id="textarea"><?php echo $message; ?></textarea>
<script>
$('textarea').ata();
</script>
</div>
</body>
</html>

js/jquery.js ==> http://figovo.com/js/jquery.js
js/jquery.ata.js ==> http://figovo.com/js/jquery.ata.js

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Автоматическое определение языка. Быстро.
0 capturis 1914 7.8.2017, 19:30
автор: capturis
Открытая тема (нет новых ответов) Виды трафика, определение?
Описание каждого вида
3 stixia007 4745 5.5.2015, 23:35
автор: Wolfhound
Открытая тема (нет новых ответов) Определение продажной стоимости сайта
7 Amilardo 1941 26.10.2014, 18:49
автор: Amilardo
Открытая тема (нет новых ответов) Определение мыла по странице ВКонтакте (узнать e-mail ВКонтакте)
0 Denn4k 7819 22.6.2012, 23:04
автор: -Denn4k-
Открытая тема (нет новых ответов) Шрифт в input и textarea. Как настроить?
13 Semreg_hb 20592 18.9.2009, 17:15
автор: -Semreg-


 



RSS Текстовая версия Сейчас: 25.4.2024, 12:12
Дизайн