Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.05.2013, 14:03
Интересующийся
Отправить личное сообщение для DmitriSpartak Посмотреть профиль Найти все сообщения от DmitriSpartak
 
Регистрация: 05.05.2013
Сообщений: 12

Запись в текстовую область
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>JavaScript</title>
<script type="text/javascript">
window.onload = function()
{
	var clock = document.getElementById("clock");	
	clock.onclick = bbcode();
}

function bbcode()
{
	return function ()
	{
		var textarea = document.getElementById("textarea");
		var loc = textarea.firstChild.nodeValue;
		clock = clock.firstChild.nodeValue;
		textarea.focus();
		var textarea = document.getElementById("textarea");
		loc = clock;
		textarea.firstChild.nodeValue = loc;
		textarea.focus();
	}
}
</script>
</head>
<body>
	<h1 id="clock">Первая строка,<br /> вторая строка</h1>
	<textarea id="textarea"> </textarea>
</body>


Первая проблема: при клике, на h1, в случаи если там есть другие теги, в текстовую область вставляется лишь часть заголовка (в данном случаи до тега br), мне же нужно, чтобы вставлялся весь текст независимо от наличия в нем вложенных тегов, причем сами теги в текстовую область не вписывались.
Вторая проблема: при клике текст вставляется всегда в начало текстовой области, тем самым переписывая свое значение, независимо от того в какой строке находится в данный момент курсор; мне нужно чтобы текст вставлялся туда где стоит курсор в данный момент и предыдущая вставка не стиралась и не переписывалась.
Ответить с цитированием
  #2 (permalink)  
Старый 08.05.2013, 14:14
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

так?
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>JavaScript</title>
<script type="text/javascript">
window.onload = function()
{
	clock.onclick = bbcode();
}

function bbcode()
{
	return function ()
	{
		var textarea = document.getElementById("textarea");
		var clock = document.getElementById("clock");	
		var loc = textarea.firstChild.nodeValue;
		clock = clock.innerHTML;
		textarea.focus();
		loc = clock;
		textarea.firstChild.nodeValue += loc;
		textarea.focus();
	}
}
</script>
</head>
<body>
	<h1 id="clock">Первая строка,<br /> вторая строка</h1>
	<textarea id="textarea"> </textarea>
</body>
Ответить с цитированием
  #3 (permalink)  
Старый 08.05.2013, 18:34
Интересующийся
Отправить личное сообщение для DmitriSpartak Посмотреть профиль Найти все сообщения от DmitriSpartak
 
Регистрация: 05.05.2013
Сообщений: 12

animhotep, почти, только если например кликнуть по h, появится курсор в текстовой области, затем нажать на enter (перенести курсор на новую строку) и опять нажать на h, то ничего не добавляется
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VK - разместить запись на стену lol4eg Общие вопросы Javascript 8 23.02.2013 14:52
Поиск символа в строке и запись. Maxfashko Общие вопросы Javascript 1 27.12.2012 15:47
Как сделать определенную область окна ссылкой Igorbek Общие вопросы Javascript 3 08.08.2012 11:49
Как сделать чтобы пользователь только мог 2 раза прослушать запись? KOTDG AJAX и COMET 0 11.02.2012 22:37
Как опустить рабочую область до определённого id????? PAMAC Элементы интерфейса 2 14.11.2009 12:48