Verzweifelt am InnerHTML
Andre Geese
- html
0 Dieter Raber0 AG0 Sven Rautenberg
Hallo liebe Leute,
ich habe folgenden Code:
for (i=5; i<10; i++){
var new_nr= (Number(i)+1);
alert(document.getElementById("catalogbody").innerHTML);
document.getElementById("catalogbody").innerHTML += '<tr><td style="border-bottom:1px solid #ADA08D" align="center" class="main" width="60px">'+new_nr+'</td><td style="border-bottom:1px solid #ADA08D; padding-left:10px;" align="left" class="main" width="120px"><input id="dbP_bestellnr_'+i+'" type="text" onBlur="setRequest(\'dbP\',\''+i+'\');" size="12" value=""></td><td style="border-bottom:1px solid #ADA08D; padding-right:10px" align="right" class="main" width="50px"><input id="dbP_menge_'+i+'" type="text" size="3" value=""></td><td style="border-bottom:1px solid #ADA08D; padding-left:10px" align="left" class="main" width="200px"><div id="dbP_div_info_'+i+'"> </div></td><td style="border-bottom:1px solid #ADA08D; align="right" class="main" width="15px"><a href="javascript:del_line(\''+i+'\',\'dbP\')"><img border="0" alt="delete article" src="'+papierkorb+'"></a></td></tr>';
}
und folgende Seite:
<tr>
<td valign="top" class="main">
<!-- das eigentliche formular -->
<form id="directofferpage" name="directofferpage" method="POST" action="index.php?action=add_direct_page&vid=02a21b0e0ea0fcb0480fd327ca533ede">
<table id="Table_Catalogorder" width="584" border="1" cellspacing="0" cellpadding="8">
<thead>
<tr>
<td colspan="5" class="pageHeading">Bestellübersicht</td>
</tr>
<tr>
<td colspan="5" class="main"><br>Bitte geben Sie in das Feld "Bestellnummer" die Bestellnummer aus dem light11.de Katalog ein und bestimmen Sie die gewünschte Anzahl. Klicken Sie anschließend bitte auf "in den Einkaufswagen".</br></br></td>
</tr>
<tr>
<th class="tableHeading, orderbox_right" align="center" width="72px">Position</th>
<th class="tableHeading, orderbox_left" align="left" width="82px">Bestellnr.</th>
<th class="tableHeading, orderbox_right" align="right" width="72px">Menge</th>
<th class="tableHeading, orderbox_left" align="left" width="280px">Artikel</th>
<th class="tableHeading, orderbox" align="center" class="tableHeading" width="70px"> </th>
</tr>
</thead>
<tbody id="catalogbody">
<tr>
<td class="orderbox" name="dbP_Position_0" align="center" class="main" width="72px">1</td>
<td class="orderbox_left" align="left" class="main" width="82px"><input name="dbP_bestellnr_0" id="dbP_bestellnr_0" type="text" size="12" value="" onBlur="setRequest('dbP','0');"></td>
<td class="orderbox_right" align="right" class="main" width="72px"><input name="dbP_menge_0" id="dbP_menge_0" type="text" size="3" value=""></td>
<td class="orderbox_left" align="left" class="main" width="280px"><div name="dbP_div_info_0" id="dbP_div_info_0"> </div></td>
<td class="orderbox_left" align="right" width="70px"><a href="javascript:del_line('0','dbP')"><img border="0" alt="delete article" src="includes/languages/german/images/buttons/small_delete.gif"></a></td>
</tr>
<tr>
<td class="orderbox" name="dbP_Position_1" align="center" class="main" width="72px">2</td>
<td class="orderbox_left" align="left" class="main" width="82px"><input name="dbP_bestellnr_1" id="dbP_bestellnr_1" type="text" size="12" value="" onBlur="setRequest('dbP','1');"></td>
<td class="orderbox_right" align="right" class="main" width="72px"><input name="dbP_menge_1" id="dbP_menge_1" type="text" size="3" value=""></td>
<td class="orderbox_left" align="left" class="main" width="280px"><div name="dbP_div_info_1" id="dbP_div_info_1"> </div></td>
<td class="orderbox_left" align="right" width="70px"><a href="javascript:del_line('1','dbP')"><img border="0" alt="delete article" src="includes/languages/german/images/buttons/small_delete.gif"></a></td>
</tr>
<tr>
<td class="orderbox" name="dbP_Position_2" align="center" class="main" width="72px">3</td>
<td class="orderbox_left" align="left" class="main" width="82px"><input name="dbP_bestellnr_2" id="dbP_bestellnr_2" type="text" size="12" value="" onBlur="setRequest('dbP','2');"></td>
<td class="orderbox_right" align="right" class="main" width="72px"><input name="dbP_menge_2" id="dbP_menge_2" type="text" size="3" value=""></td>
<td class="orderbox_left" align="left" class="main" width="280px"><div name="dbP_div_info_2" id="dbP_div_info_2"> </div></td>
<td class="orderbox_left" align="right" width="70px"><a href="javascript:del_line('2','dbP')"><img border="0" alt="delete article" src="includes/languages/german/images/buttons/small_delete.gif"></a></td>
</tr>
<tr>
<td class="orderbox" name="dbP_Position_3" align="center" class="main" width="72px">4</td>
<td class="orderbox_left" align="left" class="main" width="82px"><input name="dbP_bestellnr_3" id="dbP_bestellnr_3" type="text" size="12" value="" onBlur="setRequest('dbP','3');"></td>
<td class="orderbox_right" align="right" class="main" width="72px"><input name="dbP_menge_3" id="dbP_menge_3" type="text" size="3" value=""></td>
<td class="orderbox_left" align="left" class="main" width="280px"><div name="dbP_div_info_3" id="dbP_div_info_3"> </div></td>
<td class="orderbox_left" align="right" width="70px"><a href="javascript:del_line('3','dbP')"><img border="0" alt="delete article" src="includes/languages/german/images/buttons/small_delete.gif"></a></td>
</tr>
<tr>
<td class="orderbox" name="dbP_Position_4" align="center" class="main" width="72px">5</td>
<td class="orderbox_left" align="left" class="main" width="82px"><input name="dbP_bestellnr_4" id="dbP_bestellnr_4" type="text" size="12" value="" onBlur="setRequest('dbP','4');"></td>
<td class="orderbox_right" align="right" class="main" width="72px"><input name="dbP_menge_4" id="dbP_menge_4" type="text" size="3" value=""></td>
<td class="orderbox_left" align="left" class="main" width="280px"><div name="dbP_div_info_4" id="dbP_div_info_4"> </div></td>
<td class="orderbox_left" align="right" width="70px"><a href="javascript:del_line('4','dbP')"><img border="0" alt="delete article" src="includes/languages/german/images/buttons/small_delete.gif"></a></td>
</tr>
</td>
</tbody>
</table>
<div id="next5_line" style="display:inline">
<table cellpadding="8" cellspacing="0" width="100%">
<tr>
<td colspan="3" style="padding-left:10px;" align="left" class="main"><a href="javascript:next5('Table_Catalogorder','images/papierkorb.jpg')"><img src="images/arrow_brown.gif" border="0"> Ich möchte weitere Artikel hinzufügen</a></td>
<td colspan="3" style="padding-right:10px;" align="right" class="main"><a href="javascript:abgehts()"><img border="0" src="includes/languages/german/images/buttons/button_shopping_cart.gif"></a></td>
</tr>
</table>
</div>
<div id="bestellbutton" style="display:none">
<table cellpadding="8" cellspacing="0" width="100%">
<tr>
<td colspan="6" style="padding-right:10px;" align="right" class="main"><a href="javascript:abgehts()"><img border="0" src="includes/languages/german/images/buttons/button_shopping_cart.gif"></a></td>
</tr>
</table>
</div>
</form>
</td>
</tr>
ich möchte nun anhand des Skriptes neue Tabellenzeilen einfügen.
wie funktioniert das am Besten? Ich bin völlig verzweifelt....
Im FF, Opera funtzt es, aber im IE überhaupt nit, da kommt die Fehlermeldung "Unbekannter Laufzeitfehler" wenn er auf document...innerHTML += drauf zugreift...
Bitte um Hinweise
Hallo Andre,
ich hab mir jetzt nicht die Muehe gemacht, deinen Code genau durchzugehen, oder gar zu testen.
Wenn du aber sagst, dass er nur in IE scheitert, solltest du einmal probieren, in der Tabelle zusaetzlich <tbody> zu verwenden.
Gruss
Dieter
Hallo Dieter,
das habe ich bereits, und der tbody auch ne ID vergeben und gesagt getElementsById(%tbody%).innerHTML += aber dort schmeißt er auch fehler...
Gruß
André
Hi!
getElementsById(%tbody%)
............^
Diese Methode existiert nicht.
off:PP
Hi!
getElementsById(%tbody%)
............^
Tippfehler von mir, hier, ich habe das natürlich nicht mit Copy&Paste hier eingefügt. Aber Recht haste trotzdem ;).
Diese Methode existiert nicht.
off:PP
Hi!
getElementsById(%tbody%)
............^Tippfehler von mir, hier, ich habe das natürlich nicht mit Copy&Paste hier eingefügt. Aber Recht haste trotzdem ;).
Diese Methode existiert nicht.
off:PP
ha ich habs, dank dem Tipp das die Tabelle neu erstellt werden muss.
Nun lüppt es :).
Vielen Dank an alle
@mod: thread kann geschlossen werden
@@AG:
nuqneH
ha ich habs, dank dem Tipp das die Tabelle neu erstellt werden muss.
Nein, das muss sie nicht. Verzichte auf innerHTML! Es gibt DOM-Methoden. Es gibt http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#table@title=insertRow().
@mod: thread kann geschlossen werden
Hier wird nichts geschlossen.* Schon gar nicht auf Geheiß des Fragestellers.
Qapla'
* außer Doppelpostings, Spam u.a. Regelverstöße
Moin!
ich hab mir jetzt nicht die Muehe gemacht, deinen Code genau durchzugehen, oder gar zu testen.
Wenn du aber sagst, dass er nur in IE scheitert, solltest du einmal probieren, in der Tabelle zusaetzlich <tbody> zu verwenden.
War es nicht so, dass der IE Manipulationen an Teilen von Tabellen via innerHTML nicht erlaubt, sondern wenn, dann immer eine gesamte Tabelle dort eingepflanzt werden muß?
Ja, stimmt! http://support.microsoft.com/kb/239832/en-us "This behaviour is by design."
- Sven Rautenberg