Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Глюки IE / 6 сообщений из 6, страница 1 из 1
01.04.2008, 00:29
    #35226044
last_elf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюки IE
Как сделать, чтобы работало не только в мозилле, но и в эксплорере?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<html>
<head>
</head>
<body>
<table id="table_1" border= 0  cellpadding="0" cellspacing="5">
<tr>
	<th>Номер</th>
	<th>Ответ</th>
</tr>
</table>	
<input type="button" value="Add" onclick="add_answer();">
<script>
var ans_num= 5 ;
function add_answer() {
	t1=document.getElementById('table_1');
	
	for (var i= 1 ; i<ans_num+ 1 ; i++) {
		row=document.createElement("TR");	
		var cell_l=document.createElement("TD");
		cell_l.innerHTML=i;
		row.appendChild(cell_l);

		var cell_2=document.createElement("TD");
		cell_2.innerHTML='<input type="text" name="ans_text['+i+']" size="30">';
		row.appendChild(cell_2);
		
		t1.appendChild(row);
	}
}
</script>

</body>
</html>
...
Рейтинг: 0 / 0
01.04.2008, 01:05
    #35226062
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюки IE
Это не глюки, а специфика работы.
Так получается, что при использовании DOM напрямую в таблицу (<table>) вставлять нельзя.
Настойчиво советую использовать следующую конструкцию:
Код: plaintext
1.
2.
3.
4.
5.
<table border= 0  cellpadding="0" cellspacing="5">
	<thead>
		<tr><th>Номер</th><th>Ответ</th></tr>
	</thead>
	<tbody id="table_1"></tbody>
<table>
... и адресовать все не к <table>, а к <tbody>.
Вот так должно работать и в IE, и в FF.
...
Рейтинг: 0 / 0
01.04.2008, 01:25
    #35226070
last_elf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюки IE
Спасибо большое! А все думал - что это за tbody, теперь буду знать. Интересно, можно ли еще как-то обойти ситуацию с невозможностью записи элементов в таблицу в IE-шной реализации DOMа.
...
Рейтинг: 0 / 0
01.04.2008, 01:31
    #35226072
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюки IE
ну id можно и у таблицы оставить, а к tbody обращаться через tBodies

2 last_elf
иногда для таблиц удобнее использовать insertRow и insertCell, вместо appendChild:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
function add_answer() {
	var t1=document.getElementById('table_1');
	for (var i= 1 ; i<=ans_num; i++) {
		var row=t1.insertRow(- 1 );
		row.insertCell(- 1 ).innerHTML=i;
		row.insertCell(- 1 ).innerHTML='<input type="text" name="ans_text['+i+']" size="30">';
	}
}
...
Рейтинг: 0 / 0
01.04.2008, 01:38
    #35226078
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюки IE
last_elfСпасибо большое! А все думал - что это за tbody, теперь буду знать. Интересно, можно ли еще как-то обойти ситуацию с невозможностью записи элементов в таблицу в IE-шной реализации DOMа.

реализация dom-структуры таблиц в ie такая же, как и ff, и в опере. Везде tbody добавляется автоматически, даже если вы его не прописываете (можете проверить - вывести innerHTML таблицы без tbody с помощью alert). Другое дело, что ff понимает, что на самом деле нужно делать, а ie предпочитает не гадать.
...
Рейтинг: 0 / 0
01.04.2008, 04:06
    #35226104
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюки IE
Однозначно соглашусь: мои знания прктически во всем базируются только на опыте, соответственно, теоретическая база сильно хромает. Но сказанное про таблицы очень логично :)
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Глюки IE / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]