Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Добавление текста к input элементу (https://javascript.ru/forum/dom-window/9188-dobavlenie-teksta-k-input-ehlementu.html)

Cepin 04.05.2010 09:49

Добавление текста к input элементу
 
Здравствуйте.
Столкнулся с проблемой такой.
Есть форма с элементами и я хочу к одному из инпутов добавить слева текст.
Я сначала нахожу этот инпут так:
var input = document.getElementsByTagName('input')[3];



Затем создаю сам текст
var p = document.createElement('p');
    p.appendChild(document.createTextNode('текст'));


Затем мне нужно его вставить слева от инпута
document.body.insertBefore(p, input);



Но код не работает, понимаю что напутал именно во вставке, но не знаю как правильно нужно делать. Подскажите пожалуйста.

Kolyaj 04.05.2010 09:52

А input-то в body лежит?

input.parentNode.insertBefore(p, input);

Cepin 04.05.2010 19:07

Спасибо за код, все работает хорошо. Но возникла еще одна небольшая проблема. Пишу пользовательский скрипт для сайта и есть такой код

(function() {

var root = typeof unsafeWindow != 'undefined' ? unsafeWindow : window;

function any_func () {
alert('test');
}

root.document.getElementById('some_ID').setAttribute('onchange', "any_func()");
})();


Код отлично работает в опере, но не работает в Firefox выдавая ошибку any_func is not defined


Но если вызвать напрямую функцию
any_func();

вне обработчика, тогда все нормально идет.

Что ему не нравится?

exec 04.05.2010 19:23

Cepin, попробуйте через addEventListener.

Kolyaj 05.05.2010 09:10

Что за извращённый способ назначать обработчик события?


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