Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   createElement pocket IE (https://javascript.ru/forum/misc/2768-createelement-pocket-ie.html)

demi 09.02.2009 07:13

createElement pocket IE
 
Здравствуйте.

Подскажите в чем проблема

я создаю форму
var formnode = document.createElement("form");

			formnode.method ="POST";
			formnode.action =url; 
			formnode.target =target;
			formnode.id ="postform";


все нормально создается

а если создаю input
var inode = document.createElement("input"); 
				inode.type = "hidden"; alert ( inode.type );
				inode.name = i;


атрибуты не добавляет
и прекращает выполнение функции.

версия WM6.1 pocket ie 6

demi 09.02.2009 08:56

не стал париться и сделал все через innerHTML. все работает:)

Zibba 09.02.2009 14:06

На будущее, есть замечательная DOM ф-ция setAttribute("attribute","value")

IIIEPJIOK 09.02.2009 14:18

в IE
код
var inp = document.body.appendChild(document.createElement('input'));
inp.setAttribute('type', 'hidden'); //да и вообще любой другой type

работать не будет
Делать надо
document.createElement('<input type=\'hidden\'>')


специфика IE.... :), свойство type - read only

Kolyaj 09.02.2009 14:47

Цитата:

Сообщение от IIIEPJIOK
свойство type - read only

Когда input уже добавлен в документ. До этого момента его можно изменять.
var inp = document.createElement('input');
inp.setAttribute('type', 'hidden');
document.body.appendChild(inp);

Zibba 09.02.2009 14:53

Цитата:

Сообщение от IIIEPJIOK
Делать надо
document.createElement('<input type=\'hidden\'>')
специфика IE.... , свойство type - read only

Что то у меня в IE 7 на отрез отказывается работать ваш способ, как и в остальных браузерах. А вот с setAttribute() все нормально. Просто, как и сказал Kolyaj, у созданного элемента сначало меняют свойства и атрибуты, а тоьпо потом добавляют в документ.

IIIEPJIOK 09.02.2009 14:57

о-ба-на, и правда :)

demi 10.02.2009 03:10

я вообще про pocket ie спрашивал. Там все это есть
ну просто именно с input почему-то проблемы были.

demi 10.02.2009 03:11

setAttribute в нем не работает. потому я и писал formpost.name = "nameform";


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