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



 

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

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

4 страниц V   1 2 3 4 >
Открыть тему
Тема закрыта
> добавляем в форму смайлы
vasvas7775
vasvas7775
Topic Starter сообщение 7.2.2011, 18:46; Ответить: vasvas7775
Сообщение #1


Ребят как сделать, что бы при нажатии на рисунок со смайлом, он добавлялся в текстовое поле в форме.
А после сохранения, вместе с данными из бд выводились на страницу.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 7.2.2011, 23:03; Ответить: ottaviano
Сообщение #2


(vasvas7775 @ 7.2.2011, 20:46) *
Ребят как сделать, что бы при нажатии на рисунок со смайлом, он добавлялся в текстовое поле в форме.

могу подезревать как это работает:
при клике по картинке JS добавляет код картинки в текст формы, затем несколько вариантов:
- либо при занесении в бд текст просматривается скриптом и вместо кода вставляется <img src="smile.gif" alt=":)" /> и потом все это заносится в бд
- второй вариант: текст заносится в бд вместе с кодом смайла, но при выводе сообщения код заменяется на <img src="smile.gif" alt=":)" />

P.s. а может все и не так :prilichno:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
adlic
adlic
сообщение 8.2.2011, 0:13; Ответить: adlic
Сообщение #3


Боюсь, самостоятельно вам будет сложновато самому такое сделать, можно взять готовый вариант визуального редактора.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
vasvas7775
vasvas7775
Topic Starter сообщение 8.2.2011, 19:36; Ответить: vasvas7775
Сообщение #4


Вот нашел как добавлять смайлики в текстовое поле в форме, и сохраняя все это в базе данных:
JavaScript-код, который позволяет вставлять смайлики в форму:
[JS]<script language="javascript" type="text/javascript">
<!--
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("Ваш браузер не поддерживается!");
}
// -->
</script>[/JS]
Затем изобразим поле texarea, в которое нам нужно вставлять смайлы, и саму табличку смайликов:
<form method="post" name="guestbook">
<textarea name="message" cols="50" rows="10"></textarea>
<br />
<table>
<tr>
<td style="cursor: pointer;" onclick='InsertSmile(":)")'><img src='/images/smiles/01.gif'' alt='улыбка' / ></td>
<td style="cursor: pointer;" onclick='InsertSmile(":smoke:")'><img src='/images/smiles/02.gif' alt='Курилка' /></td>
<td style="cursor: pointer;" onclick='InsertSmile(":babah:")'><img src='/images/smiles/03.gif' alt='Убей себя ап стену :)' /></td>
</tr> <tr>
<td style="cursor: pointer;" onclick='InsertSmile("8)")'><img src='/images/smiles/04.gif'' alt='Круто' / ></td>
<td style="cursor: pointer;" onclick='InsertSmile(";)")'><img src='/images/smiles/05.gif' alt='Подмигиваю' /></td>
<td style="cursor: pointer;" onclick='InsertSmile(":sorry:")'><img src='/images/smiles/06.gif' alt='Ну извините...' /></td>
</tr>
</table>
</form>

Нам нужно только привязать поле textarea к нашей функции JavaScript — что мы и сделали, указав имя текстового поля message (оно же указано и в JS-функции). А название формы которое мы тоже указываем в скрипте guestbook
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
vasvas7775
vasvas7775
Topic Starter сообщение 8.2.2011, 22:26; Ответить: vasvas7775
Сообщение #5


Ребят теперь вопрос такой, Смайлики я добавил, а затем сохранил в базе данных, Из базы смайлики вместе с текстом выводятся, точнее символ смайлика.
А как сделать чтобы заменить символ смайла на картинку, чтобы в тексте была картинка:
Вот нашел такой код:
[PHP]function replase_smile($variables){
$modified = strtr($variables, array(
':)'=>'',
':('=>'',
':babah:'=>'',
'8)'=>'',
';)'=>'',
':sorry:'=>''
));
return $modified;
}

$variable = replase_smile($variable);[/PHP]
затем [PHP]':)'=>'',[/PHP] заменил на [PHP]'**good**'=>'/gostivaay_ckniga/images/smile/good.gif',[/PHP]
Но ничего не получается, в текст выводирся не картинка а все также символ смайла **good**
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 8.2.2011, 23:00; Ответить: ottaviano
Сообщение #6


vasvas7775, может стоит заменить на ковычки
[PHP]function replase_smile($variables){
return strtr($variables, array( ":)" => " ", ":(" => " ", ":babah:" => " ", "8)" => " ", ";)" => " ", ":sorry:" => " "));
}[/PHP]

P.s. я не знаю как у тебя все устроено, но думаю коды смайлов надо заменять не на адрес картинки, а на тэг <img src="smyle.gif" alt="" />
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
vasvas7775
vasvas7775
Topic Starter сообщение 8.2.2011, 23:08; Ответить: vasvas7775
Сообщение #7


ottaviano переделал как ты предложил, ничего не изменилось, когда текст выводится из базы данных вместо смайла **good**
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 8.2.2011, 23:16; Ответить: ottaviano
Сообщение #8


vasvas7775, покажи что несет $variables
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
vasvas7775
vasvas7775
Topic Starter сообщение 8.2.2011, 23:35; Ответить: vasvas7775
Сообщение #9


Честно говоря весь вывод я нашел вот здесь
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 8.2.2011, 23:37; Ответить: ottaviano
Сообщение #10


vasvas7775,
попробуй этот код и увидишь что все работает...
[PHP]<?php
$var = "privet :) kak dela :babah:?" ;
echo strtr($var, array( ":)" => "toto", ":(" => "toto", ":babah:" => "toto", "8)" => "toto", ";)" => "toto", ":sorry:" => "toto"));
?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
4 страниц V   1 2 3 4 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Настройка каптчи на форму обратной связи
3 woolf 2047 9.4.2019, 17:21
автор: bobur
Открытая тема (нет новых ответов) Настроить email форму
Сам скрипт, форма готова
2 tube 1659 26.2.2019, 14:33
автор: tube
Открытая тема (нет новых ответов) Спам через форму обратной связи на сайте
14 Evgeniy3200 8087 15.5.2017, 20:53
автор: samvel32453
Открытая тема (нет новых ответов) Мануал "Добавляем сайт в Яндекс.Новости и собираем траф грамотно"
14 eduarddis 7023 8.9.2015, 16:34
автор: rusinborg
Открытая тема (нет новых ответов) Нужно создать всплывающую форму обратной связи
2 Roman--1 4176 29.1.2014, 20:32
автор: -Den1xxx-


 



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