Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.09.2016, 07:54
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

textarea и смайлы (ТЗ)
Необходим скрипт для вставки картинок и смайлов в textarea
1. Мне необходим безопасный код.
2. Должна быть отправка данных без перезагруки страницы (POST).
3. Возможность добавлять изображения.
4. Возможность удалять выбранное сообщение из базы данных.
5. Смайлики должны открываться плиткой при клике на иконку смайл, как в ICQ к примеру. Так же при клике на иконку изображения. Две иконки должны быть рядом.
6. Возможность редактировать свое сообщение.

У меня имеются коды, часть из данных пунктов я сам могу написать. Но так как я плохо знаком с JavaScript, то мне необходим человек который напишет данные пункты. Может ТЗ увеличится, мы все с Вами обсудим.

Скайпы отправляйте пожалуйста в ПМ, по скайпу более детально обговорим, скроки и сколько будет стоить работа.
Ответить с цитированием
  #2 (permalink)  
Старый 17.09.2016, 08:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Salvat,
вы в курсе что в textarea нельзя вставить ничего кроме текста?
Ответить с цитированием
  #3 (permalink)  
Старый 17.09.2016, 08:38
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

рони, можно, коды имеются. Вот один из примеров.

<?php
if($_POST) {
    echo '<pre>';
    print_r($_POST);
    echo '</pre>';
}
?>
<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<style>
.boxedit {
    display: none;    
}
.editor {
    width: 500px;
    height: 300px;
    border: 1px solid #ccc;
}
</style> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>
var edt = '<div class="smiles"><img sml=":-*" src="smile/1.gif"><img sml=":)" src="smile/2.gif"><img sml=":(" src="smile/3.gif"></div><div class="editor" contenteditable="true"></div><textarea></textarea>';

$(function() {
    $('span[data-msg]').click(function() {
        var p = $(this.parentNode);
        if(!p.next('.boxedit').length) {
            
            $('<div class="boxedit">').insertAfter(p)
                                   .append(edt)
                                   .find('textarea').attr('name', 'comment['+$(this).data('msg')+']').hide()
                                   .end()
                                   .find('.smiles').on('click', 'img', function() {
                                        document.execCommand('insertHTML', false, ' <img sml="'+this.getAttribute('sml')+'" src="'+this.src+'"> ');
                                        $('.editor').focus()
                                   })
                                   .end()
                                   .slideDown(300)
                                   .find('.editor')[0].oninput = function() {
                                        $(this).closest('form')
                                               .find('textarea')
                                               .val(this.innerHTML
                                                        .replace(/&nbsp;/g,' ') //заменить неразрывное пространство
                                                        .replace(/<br>/g, '\n') //заменить html-перевод строки
                                                        .replace(/<img[^>]+>/g, function(i) { //смайлы
                                                            //заменить на мнемонику
                                                            //хотя могут быть нежелательные последствия
                                                            //что можно наблюдать например в Скайп, и в этом сообщении
                                                            //но можно воспользоваться ВВ-тегом
                                                            //а изображения смайлов могут иметь различные атрибуты
                                                            //которые можно обрабатывать здесь и подставляя их в ВВ
                                                            return i.match(/sml="([^"]+)"/)[1] 
                                               }))
                                   }
        }
    })
});
</script>     
</head> 
<body>
<form autocomplete="off" method="post">
<p>text <span data-msg="123">Add comment</span></p> 
<br><br><button>Send</button>    
</form>
</body> 
</html>

Это мне человек писал с форума под ником laimas, мы с ним это ТЗ обсуждали в ПМ. Я скидывал скайп для связи, т.к. редко на форуме бываю, но человек так и не вышел на связь. Поэтому и пришлось создать в соответствующем разделе объявление.
Ответить с цитированием
  #4 (permalink)  
Старый 17.09.2016, 08:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Salvat,
ок, но это никак не отменяет, сообщение во 2 посте.
Ответить с цитированием
  #5 (permalink)  
Старый 17.09.2016, 10:32
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

рони,
Хорошо, рассмотрю любую альтернативу реализации первого поста.
Ответить с цитированием
  #6 (permalink)  
Старый 17.09.2016, 10:52
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Salvat
Это мне человек писал с форума под ником laimas, мы с ним это ТЗ обсуждали в ПМ. Я скидывал скайп для связи, т.к. редко на форуме бываю, но человек так и не вышел на связь.
Вообще-то я сделал поиск контакта и по найденному указанному был сделан запрос, который до сих пор остался без ответа. Так что не стоит винить меня, либо от вас неточна информация, либо....

А в рони, можно, коды имеются. Вот один из примеров., это не вставка в textarea смайликов и прочего кода.
Ответить с цитированием
  #7 (permalink)  
Старый 17.09.2016, 11:23
Аспирант
Отправить личное сообщение для Salvat Посмотреть профиль Найти все сообщения от Salvat
 
Регистрация: 22.02.2016
Сообщений: 98

laimas,
Мне от Вас ничего не приходило, я не обвиняю Вас, а пояснил ситуацию которая сложилась. Сейчас вижу что Вы добавились, продолжим в скайпе.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из одного textarea в другой… Chile Events/DOM/Window 1 10.02.2016 09:16
Вопрос по textarea stivins Элементы интерфейса 3 05.11.2015 16:59
не могу программно изменить значение textarea в онлайн редакторе rusik Общие вопросы Javascript 6 24.10.2015 15:01
Проверка textarea на заполнение из файла espltd Элементы интерфейса 10 30.06.2015 15:48
Resize textarea, в копилку. Robox jQuery 0 17.01.2011 18:05