Страниц (2): [1] 2 » |
|
Без описания |
Поиск в теме | Версия для печати |
Cheriksoft |
Отправлено: 07 Декабря, 2007 - 14:09:22
|
Огненный лис
Покинул форум
Сообщений всего: 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>
В ИЕ при нажатии на "В", если выделен какой то текст, то он окружается
Если ничего не выделено, то просто вставляется на позицию курсора
В лисе первое происходит, второе - нет... |
|
|
UFO |
Отправлено: 12 Мая, 2009 - 11:59:26
|
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) |
|
|
Furax |
Отправлено: 13 Мая, 2009 - 03:52:02
|
Бледнотик
Покинул форум
Сообщений всего: 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) |
|
|
|
Поиск в теме | Версия для печати |
Страниц (2): [1] 2 » |
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0) |
« JavaScript » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|