/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
htmlentities og createTextNode, removeChil~
Fra : Leif Neland


Dato : 11-07-08 05:58

To problemer:

Som resultat af noget ajax, tilføjer jeg nogle rækker til en tabel

var tblB = document.getElementById("leveringsadresser");
....
var l=i.split("|")
var row = document.createElement("tr");
for (m=0;m<l.length;m++) {
var cell = document.createElement("td");
var txtCell = document.createTextNode(l[m]);
cell.appendChild(txtCell);
row.appendChild(cell);
};
tblB.appendChild(row);

Problem 1: htmlentities (eller hvad det nu hedder) bliver udskrevet som
&oslash; &nbsp; osv.
Skriver jeg den samme tekst som element.innerHTML=resultat bliver det
fint vist som ø og " "

Problem 2: De rækker jeg tilføjer er resultat af en søgning.
Hvis man laver en ny søgning, skal de tilføjede rækker erstattes af en
ny søgning. Men hele tabellen skal ikke slettes, de rækker, der ikke er
resultat af søgningen skal blive der.

Leif

 
 
Stig Johansen (11-07-2008)
Kommentar
Fra : Stig Johansen


Dato : 11-07-08 06:08

Leif Neland wrote:

> To problemer:
>
> Som resultat af noget ajax, tilføjer jeg nogle rækker til en tabel
>
> var tblB = document.getElementById("leveringsadresser");
> ...
> var l=i.split("|")
> var row = document.createElement("tr");
> for (m=0;m<l.length;m++) {
> var cell = document.createElement("td");
> var txtCell = document.createTextNode(l[m]);
> cell.appendChild(txtCell);
> row.appendChild(cell);
> };
> tblB.appendChild(row);
>
> Problem 1: htmlentities (eller hvad det nu hedder) bliver udskrevet som
> &oslash; &nbsp; osv.
> Skriver jeg den samme tekst som element.innerHTML=resultat bliver det
> fint vist som ø og " "

Så brug innerHTML.

> Problem 2: De rækker jeg tilføjer er resultat af en søgning.
> Hvis man laver en ny søgning, skal de tilføjede rækker erstattes af en
> ny søgning. Men hele tabellen skal ikke slettes, de rækker, der ikke er
> resultat af søgningen skal blive der.

Hvis det var mig, ville jeg benytte en <div> til leveringsadresser, og
bygge/udskifte hele <table> via innerHTML i denne <div>.
At bygge nodes enkeltvis er noget langsommere end at 'streame' resultatet
ind i parseren via innerHTML.

--
Med venlig hilsen
Stig Johansen

Leif Neland (11-07-2008)
Kommentar
Fra : Leif Neland


Dato : 11-07-08 06:44

Stig Johansen skrev:
> Leif Neland wrote:
>
>> To problemer:
>>
>> Som resultat af noget ajax, tilføjer jeg nogle rækker til en tabel
>>
>> var tblB = document.getElementById("leveringsadresser");
>> ...
>> var l=i.split("|")
>> var row = document.createElement("tr");
>> for (m=0;m<l.length;m++) {
>> var cell = document.createElement("td");
>> var txtCell = document.createTextNode(l[m]);
>> cell.appendChild(txtCell);
>> row.appendChild(cell);
>> };
>> tblB.appendChild(row);
>>
>> Problem 1: htmlentities (eller hvad det nu hedder) bliver udskrevet som
>> &oslash; &nbsp; osv.
>> Skriver jeg den samme tekst som element.innerHTML=resultat bliver det
>> fint vist som ø og " "
>
> Så brug innerHTML.

Jeg endte med
cell = document.createElement("td");
txtCell = document.createTextNode("");
cell.appendChild(txtCell);
cell.innerHTML = l[m];
>
>> Problem 2: De rækker jeg tilføjer er resultat af en søgning.
>> Hvis man laver en ny søgning, skal de tilføjede rækker erstattes af en
>> ny søgning. Men hele tabellen skal ikke slettes, de rækker, der ikke er
>> resultat af søgningen skal blive der.
>
> Hvis det var mig, ville jeg benytte en <div> til leveringsadresser, og
> bygge/udskifte hele <table> via innerHTML i denne <div>.
> At bygge nodes enkeltvis er noget langsommere end at 'streame' resultatet
> ind i parseren via innerHTML.
>
Men der er nogle adressr, jeg ikke vil udskifte, f.ex. fakturaadressen
og tidligere brugte leveringsadresser.

Måske kan jeg tage den eksisterende tabel, bygge en ny med kun de
rækker, jeg vil beholde, tilføje de ny rækker, og erstatte innerHTML med
den ny tabel...


Søg
Reklame
Statistik
Spørgsmål : 177438
Tips : 31962
Nyheder : 719565
Indlæg : 6408043
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste