Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#24 used as offset, casting to integer (24) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#27 used as offset, casting to integer (27) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Вставка текста в TEXTAREA
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (2): [1] 2 » 

> Без описания
Cheriksoft
Отправлено: 05 Декабря, 2007 - 11:59:02
Post Id



Огненный лис


Покинул форум
Сообщений всего: 93
Дата рег-ции: Авг. 2007  
Откуда: Екатеринбург, Россия

Карма -5




Имеется форма с именем "re", в ней TEXTAREA с именем "txt"
Как сделать, чтобы при нажатии на кнопку в TEXTAREA вставлялся какой-либо текст?
 
 Top
TvoyWeb Администратор
Отправлено: 06 Декабря, 2007 - 00:04:27
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




document.re.txt.value = 'Твой вставляемый текст';
 
 Top
Cheriksoft
Отправлено: 06 Декабря, 2007 - 05:32:25
Post Id



Огненный лис


Покинул форум
Сообщений всего: 93
Дата рег-ции: Авг. 2007  
Откуда: Екатеринбург, Россия

Карма -5




TvoyWeb пишет:
document.re.txt.value = 'Твой вставляемый текст';

Это просто заменяет текст.
Для добавления я уже нашел:
CODE:
document.re.txt.value+='Мой вставляемый текст';

Но при этом текст добавляется в конец.
Как сделать, чтобы он добавлялся в позицию курсора?
 
 Top
TvoyWeb Администратор
Отправлено: 06 Декабря, 2007 - 22:18:05
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




Cheriksoft пишет:
Как сделать, чтобы при нажатии на кнопку в TEXTAREA вставлялся какой-либо текст?

Здесь ничего не сказано о вставке текста в положение курсора.
Чтобы вставить текст нужно определить положение курсора в текстареа. Открой яваскрипт форума http://tvoyweb.ru/forums/javascript/formcode.js и изучай Улыбка
 
 Top
Cheriksoft
Отправлено: 07 Декабря, 2007 - 14:09:22
Post Id



Огненный лис


Покинул форум
Сообщений всего: 93
Дата рег-ции: Авг. 2007  
Откуда: Екатеринбург, Россия

Карма -5




CODE:

<script type="text/javascript" language="JavaScript">
<!--
function replaceSelectedText(obj,cbFunc)
{
obj.focus();

if (document.selection)
{
var s = document.selection.createRange();

eval("s.text="+cbFunc+"(s.text);");
s.select();
return true;

}
else if (typeof(obj.selectionStart)=="number")
{
if (obj.selectionStart!=obj.selectionEnd)
{
var start = obj.selectionStart;
var end = obj.selectionEnd;

eval("var rs = "+cbFunc+"(obj.value.substr(start,end-start));");
obj.value = obj.value.substr(0,start)+rs+obj.value.substr(end);
obj.setSelectionRange(end,end);
}
return true;
}

return false;
}
function b(s){return '[b]'+s+'[/b]';}
//-->
</script>

<form name="test" action="myscript.php" method="post">
<input type="button" value="B" onClick="replaceSelectedText(document.test.text,'b');"><br>
<textarea name="text" rows=5 cols=20></textarea><br>
<input name="t"><br>
</form>


В ИЕ при нажатии на "В", если выделен какой то текст, то он окружается
CODE:
[b][/b]


Если ничего не выделено, то просто вставляется на позицию курсора
CODE:
[b][/b]


В лисе первое происходит, второе - нет...
 
 Top
UFO
Отправлено: 12 Мая, 2009 - 11:59:26
Post Id



Full Member


Покинул форум
Сообщений всего: 212
Дата рег-ции: Янв. 2005  

Карма 0




Сорри, что апаю такую старую тему, но у меня много аналогичных вопросов.
Во-первых, как добавить свой текст в начало текста в textarea при нажатии кнопки?
Во-вторых, как в JS в этом же месте проверить, что в PHP существует GET-переменная $id (т.е. в строке браузера есть такие буквы, как &id=...)? Можно еще, конечно, проверить, что $id, передаваемая в JS не ноль и цифра, но это не так важно. Сейчас я это пытаюсь делать так:
CODE:
<input type="submit" value="Добавить" onClick="document.record.body.value+='Комментарий к записи № <? echo "$id"; ?>';">

Но это не работает, т.к. не выводится ничего вместо $id (пробовал уже по-всякому писать - все равно не выводит ничего!).
Пока нету никакой проверки на то, существует ли $id или нет, ибо даже без проверки не работает. Да и с JS не знаком - не знаю как там будет выглядеть это, if, а дальше не понятно Улыбка
Где-то выше в PHP существует
CODE:
$id = @(int)$_GET['id'];

так что, переменная определена.

Цель всего этого - в блоге будут ссылки вида page.php?tra-ta-ta=guestbook&id=2, нажимая на неё пользователь попадает в гостевую книгу, где будет определен id записи, если пользователь ничего не сотрет в адресной строке, то нажав кнопку добавиться подпись о том, какую запись он комментирует. Делать возможность комментирования каждой записи не хочу, т.к. блог маленький, пусть лучше весь поток сознания будет в одном месте - в гостевой книге Улыбка

(Отредактировано автором: 12 Мая, 2009 - 15:37:52)

 
 Top
UFO
Отправлено: 12 Мая, 2009 - 16:37:19
Post Id



Full Member


Покинул форум
Сообщений всего: 212
Дата рег-ции: Янв. 2005  

Карма 0




Насколько я понял, по второму пункту: все дело в том, что переменная из GET, вот она и не выводится. Может кто предложит другой вариант вывода? И что-нибудь по первому пункту тоже?
 
 Top
Furax
Отправлено: 13 Мая, 2009 - 03:52:02
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




UFO пишет:
Насколько я понял, по второму пункту: все дело в том, что переменная из GET, вот она и не выводится.
С точки зрения PHP никакой разницы в вывод переменной то, откуда взялось её значения, не вносит.

Информацию о том, установлена ли эта переменная, можно вывести так:
CODE:
var idSet = <?php echo (isSet($_GET['id']) ? 'true' : 'false'); ?>;


Однако для получения в JavaScript значений (и информации о заданности) GET-переменных PHP вообще не нужен, всё это можно сделать средствами самого JS, например, так (в начале страницы):
CODE:
var _GET = [];
var gets = location.search.slice(1).split('&');
for (var i = 0; i < gets.length; ++i)
{
var current = gets[i].split('=');
if (current.length == 2)
_GET[current[0]] = unescape(current[1]);
}
И далее в нужном месте:
CODE:
if (_GET['id'] && parseInt(_GET['id']) != NaN)
document.record.body.value+='Комментарий к записи № '+_GET['id'] + document.record.body.value;


Если же хочется всё же задействовать PHP, то я бы сделал так:
CODE:
if (isSet($_GET['id']) && (string)($id = (int)$_GET['id']) == $_GET['id'])
echo <<< EOF
<input type="submit" value="Добавить" onClick="document.record.body.value+='Комментарий к записи № $id';">
EOF;

(Отредактировано автором: 13 Мая, 2009 - 03:52:42)

 
 Top
UFO
Отправлено: 13 Мая, 2009 - 15:15:11
Post Id



Full Member


Покинул форум
Сообщений всего: 212
Дата рег-ции: Янв. 2005  

Карма 0




Спасибо большое, работает, сделал с задействованием PHP Улыбка
Теперь бы выяснить как сделать чтобы в начало добавлялось, а не в конец. Это уже чисто какую JS-функцию использовать надо знать... Растерялся

(Отредактировано автором: 13 Мая, 2009 - 15:15:32)

 
 Top
Furax
Отправлено: 13 Мая, 2009 - 22:47:38
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




CODE:
document.record.body.value+='Комментарий к записи № $id' + document.record.body.value;

(Отредактировано автором: 13 Мая, 2009 - 22:48:06)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« JavaScript »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0459]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33