Hallo!
Ich habe folgende JavaScript-Funktionen:
-------------------------------
function addTableRow(cellArray, tableId) {
var newRow = document.getElementById(tableId).insertRow();
for(i=0; i < cellArray.length; i++) {
var newCell = document.createElement("td");
if(cellArray[i] == "sCustomerNumber2" || cellArray[i] == "sArticleNumber2") {
var newSpan = document.createElement("span");
newSpan.innerHTML = document.getElementById(cellArray[i]).value;
newAttribute = document.createAttribute("class");
newAttribute.nodeValue = "ghostlink";
newSpan.setAttributeNode(newAttribute);
newAttribute = document.createAttribute("onClick");
if(cellArray[i] == "sCustomerNumber2") {
newAttribute.nodeValue = "document.getElementById('sCustomerNumber').value = '" + document.getElementById(cellArray[i]).value + "'";
} else if(cellArray[i] == "sArticleNumber2") {
alert("yes");
newAttribute.nodeValue = "alert('test')";
}
newSpan.setAttributeNode(newAttribute);
newCell.appendChild(newSpan);
} else {
var newCellText = document.createTextNode(document.getElementById(cellArray[i]).value);
newCell.appendChild(newCellText);
}
newRow.appendChild(newCell);
}
}
function addCustomerRow() {
var cellArray = Array("sCustomerNumber2","sCustomerMatchcode","sCustomerName","sCustomerZip","sCustomerCity","sCustomerCountry");
addTableRow(cellArray, "customerTable");
}
-------------------------------
Diese fügen zu einer bestehenden Tabelle neue Zeilen aus einem Formular hinzu, wenn die Funktion addCustomerRow() aufgerufen wird.
Nun würde ich noch gerne, dieser neuen Zeile (newRow) ein onClick-Attribut hinzufügen.
Dazu gäbe es ja zwei möglichkeiten:
newRow.setAttribute("onClick","alert('test')","false");
Oder:
newAttribute = document.createAttribute("onClick");
newAttribute.nodeValue = "alert('test')";
newRow.setAttributeNode(newAttribute);
Jedoch funktioniert keine der beiden Arten im IE.
Habe irgendwo gelesen, dass das erste gehen sollte, tut es aber nicht...
Geht es überhaupt irgendwie?
mfg,
matthias