Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   <textarea> вместо элемента (https://javascript.ru/forum/dom-window/41559-textarea-vmesto-ehlementa.html)

sotik 19.09.2013 10:19

<textarea> вместо элемента
 
Есть элемент:
<span id="test">Тест</span>
Нужно превратить его в поле <textarea>
как это сделать?

danik.js 19.09.2013 10:20

Сим-салабим!
<textarea id="test">Тест</textarea>

sotik 19.09.2013 10:32

Оригинально :)
А если там будет обработчик и через js?

danik.js 19.09.2013 11:40

var span = document.getElementById('test');
var textarea = document.createElemement('textarea');
textarea.id = span.id;
textarea.value = span.innerText || span.textContent || '';
span.parentNode.replaceChild(textarea, span);

sotik 19.09.2013 13:08

Спасибо большое.
Опечаточку подправил во 2 строке var textarea... Element
и все заработало

sotik 19.09.2013 19:23

// создание "виртуального образа" кнопки
var btn = document.createElement (('v' == '\v') ? '<input name="myName">' : 'input'); btn.name = 'myName';
btn.type = 'button';
btn.id = 'myknop';
btn.value = 'Дави!';
btn.style.cssText = 'color: red; margin-top: 100px; ...';

// "приживление" кнопки
document.getElementById ('mydiv').appendChild (btn);
// навешиваем обработчик
if (document.addEventListener) with (document.getElementById ('myknop'))
{
addEventListener ('onclick', prob, false);
}
function prob()
{
alert("op")
}
<div id="mydiv"></div>
не получается навесить обработчик после приживления, id пробовал и самого контейнера, и самой кнопки.
Подскажите как надо?

рони 19.09.2013 19:36

Цитата:

Сообщение от sotik
addEventListener ('onclick'

как прописываются события?!!!
http://learn.javascript.ru/introduction-browser-events

danik.js 19.09.2013 20:27

А че это за хрень внутри createElement? ('v' == '\v') это же вроде проверка на IE? И к чему это все?

sotik 19.09.2013 21:13

а фиг его знает.Ну написано было что можно использовать просто:
var btn = document.createElement ('input');
Если не планируется использовать name...

А вот как теперь обработчик на эту приживленную кнопку навесить не пойму.

sotik 19.09.2013 21:42

ну вобщем вместо той лабуды я нашел вот это и оно работает:
document.getElementById ('myknop').onclick = function() { // перезапишет существующий обработчик
  alert('После');
}
Спасибо за помощь.


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