2016-08-04 18 views
3

Ich versuche, einen Barcode-Scanner zu machen, und ich habe ein Problem, wenn ein Produkt nicht existiert, erstellt es ein neues Array mit JavaScript und sendet das Problem an die Tabelle. Mein Problem ist, dass ich nicht die Tabelle mit innerHTMLWie bearbeiten Sie eine Tabelle in Internet Explorer 5 ohne innerHTML?

JavaScript-Funktion bearbeiten kann:

var table = document.getElementById("listViewTable"); 
var tableF = document.getElementById("listTable"); 
var rowCount = table.rows.length; 
var row = table.insertRow(rowCount); 
var td1 = document.createElement("td"); 

//row.innerHTML = '(A few <td> and an <input>)'; 

td1.innerHTML = '(More <td> and another <input>)'; 
row.appendChild(td1); 
row.className = "tableCell newSKU"; 

diese Linie kommentierte row.innerhtml ist, was ich versuchte zu erreichen, aber I.E nicht unterstützt.

Dies sollte das Endergebnis sein:

Screenshot of table

Das letzte Produkt in Gelb kann nicht in der gleichen Tabelle und als solche gestellt wird nicht über den gleichen Stil wie die andere.

+0

Vielleicht können Sie einen Blick auf tabellarische [XML Dateninseln] (http://www.techrepublic.com/article/bind-html-data-elements-to-xml-data-islands/) –

Antwort

3

Von ppk's guide to browser quirks:

In IE9 und unteren innerHTML weigert sich, auf Tabellen und wählt zu arbeiten. Lösen Sie dies, indem Sie stattdessen reine DOM-Methoden verwenden. Siehe this explanation des Tabellenverhaltens nach innerHTML Erfinder. Ich gehe davon aus, dass etwas Ähnliches für selects gilt.

Verwenden Sie createElement, appendChild und Freunde, um die Zellen zu erstellen.

+0

'und Freunde '? –

+0

@BhojendraNepal - Eine ausführliche Liste jeder DOM-Methode wäre unpraktisch. – Quentin

+0

Verstanden! Habe das Wort 'friends' für Javascript nicht gehört. –