Jonas Skrevet 26. februar 2008 Del Skrevet 26. februar 2008 (endret) Hei, Har et javascript som kaller php og henter ut noe innhold. Dette funker fint i Opera og FF, men ikke så veldig greit i IE. Fullstendig endring av tabell-innhold ved bruk av .innerHTML ser ikke ut til å være så godt støttet. Finnes det noen alternative måter å gjøre det på? (Har kommentert ut linjen som gir feil) "table + database + 'table'" er for øvrig en id til et <table>-element. function Page(page, table, database) { var xmlHttp; var time = new Date(); try { xmlHttp = new XMLHttpRequest(); } catch (e) { try { xmlHttp = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { alert('Your browser does not support AJAX!'); } } } xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4) { document.getElementById(table + database + 'table').innerHTML = xmlHttp.responseText; // <-- Fullstendig endring av tabell-innhold! } } document.getElementById(table + database + 'edit').innerHTML = '<p><em>No entry chosen.</em></p>'; document.getElementById(table + database + 'table').caption.innerHTML = '<em>Loading page, please wait ..</em>'; xmlHttp.open('GET', 'mysql/table.php?table=' + table + '&database=' + database + '&page=' + page + '&time=' + time.getTime(), true); xmlHttp.send(null); } - Jonas Endret 26. februar 2008 av Jonas Lenke til kommentar
JohndoeMAKT Skrevet 26. februar 2008 Del Skrevet 26. februar 2008 (endret) Du burde oppgi hva du får returnert og HTML i bakgrunnen. ( Hva er document.getElementById(table + database + 'edit')? ) Når det gjelder tabeller fra javascript i IE er det et par issues. Om jeg husker rett er den største at du må ha et tbody element i tabellen. MSDN har forresten god dokumentasjon på dette: http://msdn2.microsoft.com/en-us/library/m...998(VS.85).aspx Endret 26. februar 2008 av JohndoeMAKT Lenke til kommentar
Jonas Skrevet 26. februar 2008 Forfatter Del Skrevet 26. februar 2008 (endret) Ja, du har nok rett, det kom dårlig frem. Her er et mer isolert eksempel. Følgende kode vil ikke fungere i IE. <table id="mintabell"> <tr> <td>Column 1</td> <td>Column 2</td> <td>Column 3</td> <td>Column 4</td> <td>Column 5</td> </tr> </table> document.getElementById('mintabell').innerHTML = ' <tr> <td>Kolonne 1</td> <td>Kolonne 2</td> <td>Kolonne 3</td> <td>Kolonne 4</td> <td>Kolonne 5</td> </tr>'; .. resultat vil i Opera og FF bli følgende. <table id="mintabell"> <tr> <td>Kolonne 1</td> <td>Kolonne 2</td> <td>Kolonne 3</td> <td>Kolonne 4</td> <td>Kolonne 5</td> </tr> </table> Endret 26. februar 2008 av Jonas Lenke til kommentar
JohndoeMAKT Skrevet 26. februar 2008 Del Skrevet 26. februar 2008 Det kan være du må benytte deg at Table Object Model, det gjorde hvertfall jeg forige gang jeg traff på IE-table issues, men jeg mottok data som et JSON-array og skrev en arrayToTable() hjelpemetode som ikke er helt samme situasjon som du er i. Lenke til kommentar
WiRRE Skrevet 6. mars 2008 Del Skrevet 6. mars 2008 Kan du ikke bare lage deg noen div'er inni tabellen din, gi de id'er og bruke document.getelementbyid.("id").innerHTML for å modifisere de, så slipper du trøbbel med ie... Lenke til kommentar
Jonas Skrevet 6. mars 2008 Forfatter Del Skrevet 6. mars 2008 Jo, og det var det jeg til slutt endre opp med å gjøre. Det fikset alt. Takker for svar! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå