Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Появляющаяся табличка для ввода данных при клике (https://javascript.ru/forum/dom-window/31419-poyavlyayushhayasya-tablichka-dlya-vvoda-dannykh-pri-klike.html)

GrinJ 06.09.2012 21:29

Появляющаяся табличка для ввода данных при клике
 
Здравствуйте, передо мной встала задача создать (на форуме) кнопку, по нажатию на которую появлялось бы специальное окошко, куда пользователь должен вводить определенные данные, а после нажатия на кнопку в форме, эти данные отправлялись бы в textarea, обрамленные специальным bb-кодом. Не знаю как это сделать и не знаю где можно взять пример.
Пожалуйста, подскажите пример, либо объясните как это сделать. Заранее спасибо.

Dmitriyff 07.09.2012 07:16

готовых решений таких не припоминаю

по действиям как-то так можно
1) берем готовый или ищем то что позволяет создавать всплывающие окна
как пример в twitter bootstrap есть плагин для модальных окон
и если поискать можно найти кучу легковесных решений
2) в модальном окне отображаем необходимую нам форму
3) на кнопку вешаем событие, которое форму будет обрабатывать и скрывать модальное окно, оно же добавляет их в textarea

как бы достаточно простые действия необходимо выполнить чтобы все сделать, в чем у вас возникает проблема?

bes 07.09.2012 10:14

<style>
.div {
	position: fixed; 
	left: 20%; 
	top: 20%; 
	height: 60%; 
	width: 60%; 
	background: lightgrey;
	z-index: 10;
	display: none;
}

</style>

<button class="open">click</button>
<textarea></textarea>

<div class="div">
	<input>
	<input type="button" value="insert">
</div>


<script>
window.onload = function () {
	var but = document.body.children[0];
	var ta = document.body.children[1];
	var div = document.body.children[2];
	var inp = div.children[0];
	var ins = div.children[1];
	
	but.onclick = function () {
		var s = div.style;
		if (s.display != 'block') {
			s.display = 'block';
		} else {
			s.display = 'none';
		}
	}
	
	ins.onclick = function () {
		ta.value += '[js]' + inp.value + '[/js]';
	}

}
</script>

GrinJ 07.09.2012 17:01

Спасибо, уже разобрался :)


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