Also, habe mein Script nun umgeschrieben. Dank Eurer Hilfe funktioniert es jetzt unter Firefox. Nur IE macht jetzt Probleme. Aber es muss leider unter IE funktionieren, FF spielt hier gar keine Geige.
Ich habe ein bissel mit tbody rumprobiert, kam aber zu keinem neuen Ergebnis. Der IE stellt leere Tabellen dar, man sieht also an der Lücke, dass er die dynamischen Tabellen erzeugt und eingefügt hat, leider ohne Inhalte. Firefox macht das toll und mich damit unglaublich glücklich.
Vielleicht jemand noch ne Idee?
Mein Code:
<script type="text/javascript">
function setRows(id,bilder) {
var picString = '';
var objektId = id;
var anzahlbilder = bilder;
var insert = document.getElementById("insert");
// Beginn der Schleife
// ab hier werden 'anzahlbilder-1' viele einzeilige Tabellen erzeugt
for (i=2;i<=anzahlbilder;i++) {
if (i<10) picString = "0"+i;
else picString = ""+i;
// <table width="620" bgcolor="#414F72" border="0" cellspacing="4" cellpadding="0" align="center">
var newtable = document.createElement('table');
newtable.width = '620';
newtable.bgcolor = '#414F72';
newtable.border = '0';
newtable.cellspacing = '4';
newtable.cellpadding = '0';
newtable.align = 'center';
// <tr>
var row = document.createElement('tr');
row.align = 'center';
row.valign = 'middle';
// <form>
var formular = document.createElement('form');
formular.name = 'bild'+i+'gross';
formular.enctype = 'multipart/form-data';
if (i<10) formular.action = 'objekt_neu_bilder_upload.php?id='+objektId+'&name=objekt'+objektId+'gr0'+i+'&zahl='+i+'¶m=gross';
else formular.action = 'objekt_neu_bilder_upload.php?id='+objektId+'&name=objekt'+objektId+'gr'+i+'&zahl='+i+'¶m=gross';
formular.method = 'post';
formular.target = 'ftp';
formular.onsubmit = function() {
window.open("","ftp","width=250,height=125");
}
// 1st <td>
var cell_1 = document.createElement('td');
cell_1.className = "cmsMedium";
cell_1.width = '120';
cell_1.height = '20';
var hidden = document.createElement('input');
hidden.type = 'hidden';
hidden.name = 'MAX_FILE_SIZE';
hidden.value = '3000000';
// 2nd <td>
var cell_2 = document.createElement('td');
cell_2.className = "cmsFormBildObjekte";
cell_2.width = '40';
cell_2.height = '20';
var pic = document.createElement('img');
pic.src = '../images_objekte/objekt'+objektId+'gr'+picString+'.jpg';
pic.name = 'Bild'+i+'gross';
pic.alt = 'Für einwandfreie Darstellung bitte Auflösung beachten!';
pic.width = '40';
pic.height = '30';
// 3rd <td>
//<td height="20" align="left"><input name="datei" type="file" class="cmsFormBildObjekte" id="datei" size="42" maxlength="255"></td>
var cell_3 = document.createElement('td');
cell_3.height = '20';
cell_3.align = 'left';
var input = document.createElement('input');
input.className = "cmsFormBildObjekte";
input.name = 'datei';
input.type = 'file';
input.id = 'datei';
input.size = '42';
input.maxlength = '255';
// 4th <td>
//<td height="20"><input name="bildgrossUp" type="submit" class="cmsFormButton" id="bildgrossUp" value="hochladen"></td>
var cell_4 = document.createElement('td');
cell_4.height = '20';
var input2 = document.createElement('input');
input2.className = "cmsFormButton";
input2.name = 'bildgrossUp';
input2.type = 'submit';
input2.id = 'bildgrossUp';
input2.value = 'hochladen';
// 5th <td>
//<td height="20" align="left"></td>
var cell_5 = document.createElement('td');
cell_5.height = '20';
cell_5.align = 'left';
// Einhängen der Komponenten
cell_1.appendChild(hidden);
cell_2.appendChild(pic);
cell_3.appendChild(input);
cell_4.appendChild(input2);
row.appendChild(cell_1);
row.appendChild(cell_2);
row.appendChild(cell_3);
row.appendChild(cell_4);
row.appendChild(cell_5);
newtable.appendChild(row);
formular.appendChild(newtable);
insert.appendChild(formular);
}
}
</script>
'insert' ist dabei ein <p>-tag mit id="insert", in welches die generierten Tabellen als child eingefügt werden, da insertBefore mir weder bei IE noch FF in verschiedenen Schreibweisen weiterhelfen konnte.
Jemand Ideen?
elvirus