Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Генерация bb-тегов для вставки на форум (https://javascript.ru/forum/misc/39542-generaciya-bb-tegov-dlya-vstavki-na-forum.html)

px379 03.07.2013 17:13

Генерация bb-тегов для вставки на форум
 
Здравствуйте, по названию темы скорее всего вопрос не очень понятен, по этому сразу к подробностям.

Возможно ли средствами JS создать такую форму? см. (рис. 1)


То-есть, как это должно работать.
Я ввожу в поля информацию о фильме, жму кнопку - Генерировать, и в самом нижнем поле получаю готовый текст для вставки на форум.

Это возможно осуществить при помощи JS или все таки нужен PHP?

Подобное планируется использовать только на локальном компьютере.

danik.js 03.07.2013 17:17

Цитата:

Сообщение от px379
Это возможно осуществить при помощи JS

Мне порой кажется что люди, задающие подбные вопросы живут в какой-то пещере, в интернет выходят только по праздникам и никогда не были на различных популярных сайтах, обычно просто напичканых скриптами, которые че только не умеют. А тут какая-то поганенькая форма. Ну че за вопрос вобще, а?

px379 03.07.2013 17:32

Цитата:

Сообщение от danik.js (Сообщение 259920)
Мне порой кажется что люди, задающие подбные вопросы живут в какой-то пещере, в интернет выходят только по праздникам и никогда не были на различных популярных сайтах, обычно просто напичканых скриптами, которые че только не умеют. А тут какая-то поганенькая форма. Ну че за вопрос вобще, а?

Все, понял, спасибо. Это все что я хотел узнать.

ruslan_mart 03.07.2013 18:03

<input type="text" id="name" placeholder="Название" /><br />
<input type="text" id="imgurl" placeholder="Ссылка на изображение" /><br />
<input type="text" id="year" placeholder="Год выпуска" /><br />
<input type="text" id="genre" placeholder="Жанр" /><br />
<input type="text" id="type" placeholder="Тип файла" /><br />
<input type="text" id="size" placeholder="Размер файла" /><br />
<textarea id="code"></textarea><br />
<input type="button" onclick="generateCode()" value="Генерировать" />

<script type="text/javascript">
function generateCode()
{
   var a = ['name', 'imgurl', 'year', 'genre', 'type', 'size'], b = {};
   for(var i in a) b[a[i]] = document.getElementById(a[i]).value;
   document.getElementById('code').value = '[size=20pt]'+b.name+'[/size]\n[img]'+b.imgurl+'[/img]\n[b]Год выпуска:[/b] '+b.year+'\n[b]Жанр:[/b] '+b.genre+'\n[b]Тип файла:[/b] '+b.type+'[b]Размер файла:[/b] '+b.size;
}
</script>


:)

danik.js 03.07.2013 19:06

Очеловеченый вариант:
<fieldset id="fieldset">
    <input type="text" id="name" placeholder="Название" /><br />
    <input type="text" id="imgurl" placeholder="Ссылка на изображение" /><br />
    <input type="text" id="year" placeholder="Год выпуска" /><br />
    <input type="text" id="genre" placeholder="Жанр" /><br />
    <input type="text" id="type" placeholder="Тип файла" /><br />
    <input type="text" id="size" placeholder="Размер файла" /><br />
</fieldset>
<textarea id="code" rows="10" cols="40"></textarea><br />
<input type="button" onclick="generateCode()" value="Генерировать" />
 
<script>
function generateCode()
{
    var fieldset = document.getElementById('fieldset');
    var fields = Array.prototype.slice.call(fieldset.elements);
    var values = {};
    fields.forEach(function(field){
        values[field.id] = field.value;
    });
    var template = document.getElementById('template').textContent.trim();
    var code = template.replace(/{([a-z]+)}/gm, function(a,b) { return values[b] });
    document.getElementById('code').value = code;
}
</script>
<script type="text/x-template" id="template">
[size=20pt]{name}[/size]
[img]{imgurl}[/img]
[b]Год выпуска:[/b] {year}
[b]Жанр:[/b] {genre}
[b]Тип файла:[/b] {type}
[b]Размер файла:[/b] {size}
</script>


Часовой пояс GMT +3, время: 19:23.