[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: смайлы в гостевой
l@pteff
добрый день, в гостевой книге делаю возможность добавления смайлов, но смайлы не добавляются потому как textarea.


<textarea rows="10" cols="151" name="message" id="message">
</textarea>

<span
id="smail">
<img
src="../pictures/smile1.gif" width="40px" height="40px" border="0" />
</span>




$('#smail img').click(function() {
var clon=$('#smail img').clone();
$('#message').append(clon);
});

что можно придумать для вставки смайлов в текстовое поле? заранее благодарю



Спустя 1 день, 5 часов, 54 минуты, 41 секунда (19.04.2011 - 21:30) l@pteff написал(а):
кто-нибудь?

Спустя 30 минут, 45 секунд (19.04.2011 - 22:01) ApuktaChehov написал(а):
А тут вы не пробовали вставить смайлы в свои сообщения?
Попробуйте.

Спустя 1 день, 1 час, 30 минут, 15 секунд (20.04.2011 - 23:31) l@pteff написал(а):
поставлю вопрос так: нет ли в js какой-нибудь функции, возвращающей bb-код смайла? Вывожу смайлы на страницу:


<span id="smail">
<script
language="php">
// Подключаем библиотеку xbb
require_once '../php/bbcode/bbcode.lib.php';

$smiles = array(
':D' => '<img src="../php/bbcode/smiles/1.gif" " />',
':)' => '<img src="../php/bbcode/smiles/2.gif" " />',
':K' => '<img src="../php/bbcode/smiles/3.gif" " />',
':V' => '<img src="../php/bbcode/smiles/4.gif"" />'
);

foreach ($smiles as $key=>$val) {
echo $val;
}
</script>
</span>



копию смайла в textarea конечно не вставить, а как сделать чтобы при клике по смалу возвращался его bb-код?

Спустя 8 часов, 49 минут, 42 секунды (21.04.2011 - 08:21) ApuktaChehov написал(а):
l@pteff - подобные функция нужно писать самому, ну или если совсем припрет, можно воспользоваться уже готовыми. Но их надо искать в сети.

Спустя 6 часов, 23 минуты, 2 секунды (21.04.2011 - 14:44) l@pteff написал(а):
нажатие на смайл обрабатываю функцией InsertSmile():

$('#smail img').click(function() {
InsertSmile();
});

Сама функция:

var ie=document.all?1:0;
var ns=document.getElementById&&!document.all?1:0;

function InsertSmile(SmileId)
{
if(ie)
{
document.all.message.focus();
document.all.message.value+=" "+SmileId+" ";
}

else if(ns)
{
document.forms['guestbook'].elements['message'].focus();
document.forms['guestbook'].elements['message'].value+=" "+SmileId+" ";
}

else
alert("Ваш браузер не поддерживается!");
}




guestbook-id формы;
message-id textarea.

bb-коды смайлам присваиваются в этом скрипте:


<span id="smail">
<script
language="php">
// Подключаем библиотеку xbb
require_once '../php/bbcode/bbcode.lib.php';

$smiles = array(
':D' => '<img src="../php/bbcode/smiles/1.gif" " />',
':)' => '<img src="../php/bbcode/smiles/2.gif" " />',
':K' => '<img src="../php/bbcode/smiles/3.gif" " />',
':V' => '<img src="../php/bbcode/smiles/4.gif"" />'
);

foreach ($smiles as $key=>$val) {
echo $val;
}
</script>
</span>



При клике на смайл в textarea вместо bb-кода заносится 'undefined', можно ли как-то связать функцию InsertSmile() с массивом, чтобы в поле ввода заносился код, соответствующий тому смайлу, по которому кликнули мышью?

Спустя 1 час, 30 минут, 10 секунд (21.04.2011 - 16:14) nugle написал(а):
$('#smiles img').click(function(){

id = $(this).attr('id');
val = $(this).attr('value');

text = $('#text').val();
$('#text').val(text+val);

})

Спустя 4 часа, 52 минуты, 31 секунда (21.04.2011 - 21:06) l@pteff написал(а):
nugle, немного изменил код вот так:

 
$('#smail img').click(function(){

id = $(this).attr('id');
val = $(this).attr('value');

text = $('textarea').val();
$('textarea').val(text+val);

})


снова undefined... признаться, не до конца понял вот это:

Цитата

id = $(this).attr('id');
val = $(this).attr('value');
:rolleyes:

т.к. атрибут value к img не указан в самом html коде... подскажите пожал. как сделать чтоб вставлялся bb-код вместо undefined, хотя бы алгоритм...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.