verwisseling tabelrijen werkt alleen in IE
Hank Noseman
29/05/2012 14:25:09Hallo,
ik heb een lege tabel 'theTable'.
Een user kan d.m.v. een knop rijen toevoegen aan de tabel dat m.b.v. javascript gedaan wordt. Dit werkt prima. De eerste cel van een toegevoegde rij krijgt via innerHTML een inputbox waarin een user een waarde kan invullen. Ik heb ook een knop waarmee rijen in de tabel verwisseld kunnen worden.
Het probleem is het volgende:
Indien een user bijvoorbeeld twee rijen heeft toegevoegd en iets in de inputboxen heeft gezet, bijv. 'hallo' in rij1 en 'hoi' in rij2, en hij deze rijen vervolgens gaat verwisselen, dan wordt alleen in IE de waarden onthouden en wisselt IE de rijen netjes om, echter in alle andere browsers zoals chrome, FF, safari & opera zijn beide inputboxen na verwisseling leeg.
Indien ik bij het aanmaken van de inputboxen een standaard waarde mee geef, zoals:
indien de user weer in rij 1 de waarde van de input op 'hallo' zet en van rij 2 de waarde van de input weer op 'hoi' en vervolgens verwisseld dan
gaat het dus in IE weer goed en bij de andere browsers hebben de inputs na verwisseling de waarde 'hoppa'
Hij wisselt wel maar neemt de veranderingen van inputs, selects niet mee.
Iemand een idee?
ik heb een lege tabel 'theTable'.
Een user kan d.m.v. een knop rijen toevoegen aan de tabel dat m.b.v. javascript gedaan wordt. Dit werkt prima. De eerste cel van een toegevoegde rij krijgt via innerHTML een inputbox waarin een user een waarde kan invullen. Ik heb ook een knop waarmee rijen in de tabel verwisseld kunnen worden.
Het probleem is het volgende:
Indien een user bijvoorbeeld twee rijen heeft toegevoegd en iets in de inputboxen heeft gezet, bijv. 'hallo' in rij1 en 'hoi' in rij2, en hij deze rijen vervolgens gaat verwisselen, dan wordt alleen in IE de waarden onthouden en wisselt IE de rijen netjes om, echter in alle andere browsers zoals chrome, FF, safari & opera zijn beide inputboxen na verwisseling leeg.
Indien ik bij het aanmaken van de inputboxen een standaard waarde mee geef, zoals:
indien de user weer in rij 1 de waarde van de input op 'hallo' zet en van rij 2 de waarde van de input weer op 'hoi' en vervolgens verwisseld dan
gaat het dus in IE weer goed en bij de andere browsers hebben de inputs na verwisseling de waarde 'hoppa'
Hij wisselt wel maar neemt de veranderingen van inputs, selects niet mee.
Iemand een idee?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function swapRows(position_a, position_b)
{
var tbl = document.getElementById('theTable');
cellsOfRowA = tbl.rows[position_a].cells;
cellsOfRowB = tbl.rows[position_b].cells;
for (i=1; i <= cellsOfRowA.length; i++)
{
temp = cellsOfRowA[i-1].innerHTML;
cellsOfRowA[i-1].innerHTML = cellsOfRowB[i-1].innerHTML;
cellsOfRowB[i-1].innerHTML = temp;
}
}
{
var tbl = document.getElementById('theTable');
cellsOfRowA = tbl.rows[position_a].cells;
cellsOfRowB = tbl.rows[position_b].cells;
for (i=1; i <= cellsOfRowA.length; i++)
{
temp = cellsOfRowA[i-1].innerHTML;
cellsOfRowA[i-1].innerHTML = cellsOfRowB[i-1].innerHTML;
cellsOfRowB[i-1].innerHTML = temp;
}
}
Gewijzigd op 29/05/2012 14:32:00 door Hank Noseman
Er zijn nog geen reacties op dit bericht.