innerHTML vs. document.write

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • innerHTML vs. document.write

    Hallo Gemeinde,

    folgender Beispielcode:

    PHP-Code:
            function berechneWarenkorb(){
                var 
    erg="<table border='1'><tr><th colspan='4'>Warenkorb</th></tr>";
                
    erg+="<tr><th>Bezeichnung</th><th>Einzelpreis</th><th>Menge</th><th>Gesamtpreis</th></tr>";
                var 
    summe=0;
                
    erg+="<form name='F'>";
                for(var 
    x=0;x<bezeichnungen.length;x++){
                    
    erg+="<tr><td>"+bezeichnungen[x]+"</td><td align='right'>"+preise[x]+",-</td><td align='center'>"+
                              
    "<input type='text' onchange='aendere("+x+")' name='produkt"+x+"' value='"+mengen[x]+"' size='2'>"+
                              
    "</td><td align='right'>"+(preise[x]*mengen[x])+",-</td></tr>";
                    
    summe+=preise[x]*mengen[x];
                }
                
    erg+="</form>";
                
    erg+="<tr><td colspan='3' align='right' class='summe'>Summe</td>";
                
    erg+="<td align='right' class='summe'>"+summe+",-</td></tr>";
                
    erg+="<tr><td colspan='4' align='center'>";
                
    erg+="<form class='formOhneRand'  target='hauptseite' action='bestellformular.html' name='F2'>";
                
    erg+="<input type='hidden' name='bestellung'>";
                
    erg+="<input type='button' onclick='senden()' value='bestellen'>";
                
    erg+="</form></td></tr>";
                
    erg+="</table>";
                
    //alert(bezeichnungen+"\n"+preise+"\n"+mengen+"\n"+ids);
                
    document.getElementById("anzeige").innerHTML=erg;
            } 
    document.getElementById("anzeige").innerHTML = erg liefert
    mir nur den Header der Tabelle. Schreibe ich allerdings
    document.write(erg) zeigt er es korrekt an, natuerlich dann nicht in dem dafuer vorgesehenen div-container.

    Im IE 6 - 7 funktioniert es. Firefox 2.0.0.6 macht es nicht. Keine Fehler in der Fehlerkonsole und Webdevelopertoolbar.

    Vielen Dank!
    Niveau sieht nur von unten aus wie Arroganz!

  • #2
    Der Inhalt von erg ist wahrscheinlich nicht valide, weil falsch verschachtelt:

    Code:
    <table>
        <tr><th>...</th></tr>
        <form><tr><td>...
    </table>
    Ich glaube an dieser Stelle darfst du kein form öffnen.

    Kommentar


    • #3
      Ui, ja - vielen Dank!

      Der IE hat es gemacht und der Firefox bei document.write auch. Warum er es aber bei innerHTML ankreidet?!

      Jetzt scheint es zu funktionieren ;-)
      Niveau sieht nur von unten aus wie Arroganz!

      Kommentar

      Lädt...
      X