Проброс тегов из одного текстового поля в другое и обратно
Определена текстовая область, справа от которой располагается облако тегов, позволяющее заполнять текстовую область выбирая теги из области этих тегов (Шаблон реализации приложен).
1. Добавление тегов из облака тегов в текстовую область, нажатием на тег: а) При нажатии на тег, он добавляется в текстовую область, при этом удаляясь из облака тегов. б) При удалении тега из текстовой области он возвращается обратно в облако тегов (при удалении тегов, добавленных в текстовую область пользователем и не входящих в облако тегов, теги просто удаляются). 2. Возможность самостоятельно добавлять теги в текстовой области, дописывая их в конце списка тегов, разделяя каждый тег между собой «; ». Подскажите, пожалуйста, как реализовать это на js на примере https://yadi.sk/i/PZefs5943RjsXx - шаблон реализации |
Alex8888,
как вы представляите себе пунк №2 |
рони,
Цитата:
Федя;Нина;Алекс |
Dilettante_Pro, :)
Хокку: мастер джедай быстр, молчит юный падаван, работы раздел, открыть ему надо. |
Для начала процесса:
<style>
#base, #typic {
width:250px;
height:50px;
border:3px solid grey;
font-size:0px;
}
span {
background-color:green;
color:white;
margin-left: .3em;
font-size:15px;
}
</style>
<script>
window.onload = function() {
var typical = [];
[].forEach.call(document.querySelectorAll("#typic span"), function(el) {
typical.push(el.textContent);
});
document.querySelector("#typic").onclick = function(e) {
if(e.target.nodeName == "SPAN"){
document.querySelector("#base").append(e.target);
}
}
document.querySelector("#base").onclick = function(e) {
if(e.target.nodeName == "SPAN"){
if (typical.indexOf(e.target.textContent) >= 0 ) document.querySelector("#typic").append(e.target);
}
}
document.querySelector("#appn").onclick = function() {
var arr = document.querySelector("#app").value.split(";");
for(var i = 0; i < arr.length;i++) {
var el = document.createElement('span');
el.textContent = arr[i];
document.querySelector("#base").append(el);
}
}
document.querySelector("#send").onclick = function() {
alert(document.querySelector("#base").innerHTML);
}
};
</script>
<div style="display:flex">
<div id="base"><span>Рома</span><span>Денис</span></div>
<div id="typic"><span>Иван</span><span>Семен</span><span>Петр</span></div>
</div>
<input type="text" id="app">
<button id="appn">Добавить теги</button><br>
<button id="send">Отправить</button>
|
Добавление в базу данных
А как после того, как мы теги перенесли в текстовую область, отправить именно текст в базу данных?
Как я понимаю, это должна быть форма соответственно, с кнопкой, при нажатии на которую данные полетят в базу, однако, как это провернуть, учитывая, что по идее вместо текстовой области должен быть input или textarea, к примеру...важно чтобы отображения тегов не менялось.. |
Alex8888,
Цитата:
Цитата:
При помощи JS отправлять можно что угодно откуда угодно. Внес добавления в пример. |
Alex8888,
определять теги таким образом как вы описываете, есть самое худшее, что можно сделать, если все это в контексте базы. |
laimas,
Честно говоря, у меня впечатление, что ТС еще не понял, что ему нужно и каким образом это реализовать. |
Я не знаю чего он не понял или не понимает, ну вы то доки "ушлые" уже, видите же, что не в том направлении движуха. )
|
| Часовой пояс GMT +3, время: 03:41. |