Когда последняя строка таблицы вставки удаляется, ширина второй ячейки первой строки таблицы становится равной 0 - PullRequest
1 голос
/ 25 января 2010

Извините, что не могу найти правильное название моей проблемы. Я написал простую веб-страницу и немного Javascript, чтобы вставить строку таблицы и удалить ее. Теперь моя проблема в том, что когда я удаляю последнюю вставленную строку, вторая ячейка ширины строки первой таблицы стала нулевой в IE6. Кто-нибудь может дать мне совет?

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function deleteRow(r)
{
    var i=r.parentNode.parentNode.rowIndex;
    document.getElementById('myTable').deleteRow(i);
}

function insertRowInTable(){
    var table = document.getElementById("myTable");
    var lastRow = table.rows.length;

    var newRow = table.insertRow(lastRow);
    var i=0;
    for(;i<9;i++){
        var td = newRow.insertCell(-1);
        td.innerHTML = ""+i;
    }
    newRow.insertCell(-1).innerHTML = "<input type='button' value='Delete"+newRow.rowIndex+"' onclick='deleteRow(this)'>";
}
</script>
</head>
<BODY><TABLE id=myTable width=450 border=1>
<TBODY>
<TR width="450">
<TD width=225 colSpan=7>Row 3</TD>
<TD width=225 colSpan=3><INPUT onclick=insertRowInTable(); type=button value=insert></TD></TR></TBODY></TABLE></BODY>

</html>

Ответы [ 2 ]

2 голосов
/ 02 февраля 2010

Просто используйте встроенный стиль для таблицы «table-layout: fixed» следующим образом

<TABLE id=myTable width=450 border=1 style="table-layout:fixed"><TBODY><TR width="450"> <TD width=225 colSpan=7>Row 3</TD> <TD width=225 colSpan=3><INPUT onclick=insertRowInTable(); type=button value=insert></TD></TR></TBODY></TABLE>

и он будет работать на вас.

Спасибо.

1 голос
/ 25 января 2010

Это действительно интересно. IE8 и Firefox работают по требованию. Но IE7 (я не проверял его для IE6) не работает.

Тем не менее, я проверил по-разному и заметил, что если вы не используете colspan для "TD width = 225 colSpan = 3"

т.е.

Либо "TD width = 225 colSpan = 0", либо «TD width = 225» работает правильно. Я не уверен, что это ошибка IE6 / IE7.

...