Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как узнать текстовый узел объекта Radio?
 
 автор: AntonE   (26.09.2008 в 20:25)   письмо автору
 
 

Здраствуйте. Подскажите пожалуйста, как узнать какой текст содержит объект Radio?
Т.е. допустим, есть элемент:
<input type='radio' value=1>Hello

И как мне добраться(получить) до текста - Hello?
Я обычно с другими элементами использую nodeValue, но с Radio почему-то не получается.

И опять же, не получается самому создать тектовый узел у Radio. Например, делаю примерно так:
...
<form name='firstForm'></form>
...
var parentElem = document.firstForm;
var createElem = document.createElement('input');
createElem.type = 'radio';
createElem.value = '1';
var txtNode = document.createTextNode('bla bla bla');
createElem.appendChild(txtNode);
parentElem.appendChild(createElem);


Элемент то добавляется, но текста в нем нет.
Через innerHTML тоже не могу вставить текст.
Я что-то делаю не так или с Radio надо как-то по другому?

  Ответить  
 
 автор: вялый   (26.09.2008 в 20:56)   письмо автору
 
   для: AntonE   (26.09.2008 в 20:25)
 

инпут это одиночный элемент - у него нет закрывающего тега, у него нет потомков. Т.е. текстовый узел "Hello" не является его потомком.

вот первый метод решения, довольно геморный и неповоротливый, и в ослике почему то не ставится флажок:
vvar parentElem = document.firstForm; 
var createElem = document.createElement('input'); 
createElem.type = 'radio'; 
createElem.value = '1'; 
var txtNode = document.createTextNode('bla bla bla');  
parentElem.appendChild(createElem);
parentElem.appendChild(txtNode);

вот более красивое решение с использованием innerHTML:
var parentElem = document.firstForm;
parentElem.innerHTML+="<input type='radio' name='sdf' value='sdfg'>sdfgsdfg<br>";

при этом не забывайте что innerHTML всегда добавляет в конец.

  Ответить  
 
 автор: AntonE   (27.09.2008 в 14:32)   письмо автору
 
   для: вялый   (26.09.2008 в 20:56)
 

Спасибо, всё понятно.

  Ответить  
 
 автор: PAT   (26.09.2008 в 22:35)   письмо автору
 
   для: AntonE   (26.09.2008 в 20:25)
 

В общем случае - никак.

  Ответить  
 
 автор: sim5   (27.09.2008 в 16:53)   письмо автору
 
   для: AntonE   (26.09.2008 в 20:25)
 

Пользуйтесь элементом <label for="as"></label>, будете знать.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования