Hallo liebe Runde,
nachdem mir Alexander gestern schon mit viel Geduld versucht hat zu helfen, habe ich leider immer noch Probleme:
Eine Funktion führt diverse Änderungen in einem bestehenden DOM durch:
function CastEntries(theSelect,theInput)
{
var SelectItemsMax;
/// Umwandlung SELECT in INPUT ///
var NodeToRemove=document.getElementById("TD" + theSelect).getElementsByTagName("select")[0];
theRemove = document.getElementById("TD" + theSelect).removeChild(NodeToRemove);
var newInput = document.createElement("input");
document.getElementById("TD" + theSelect).appendChild(newInput);
/// Umwandlung INPUT in SELECT ///
var NodeToRemove=document.getElementById("TD" + theInput).getElementsByTagName("input")[0];
theRemove = document.getElementById("TD" + theInput).removeChild(NodeToRemove);
var newSelect = document.createElement("select");
document.getElementById("TD" + theInput).appendChild(newSelect);
/// ----- HIER LIEGT MEIN PROBLEM --- ZUWEISUNG DES HANDLERS ///
document.getElementById("TD" + theInput).getElementsByTagName ("select").onchange = new Function('CastEntries(0,1)');
///
SelectItemsMax = ConfigTree[theInput][1].length;
for (var SelectItemsCount = 0; SelectItemsCount < SelectItemsMax; SelectItemsCount++)
{
NewEntry = new Option(ConfigTree[theInput][1][SelectItemsCount], ConfigTree[theInput][1][SelectItemsCount], false, false)
document.forms[0].elements[theInput].options[document.forms[0].elements[theInput].length] = NewEntry;
}
}
Ziel der Übung ist es, einen Ausdruck zu "erzeugen" der so aussieht:
<select onchange="CastEntries(0,1);">
<option value="1">XY1</option>
<option value="2">XY2</option>
<option value="3">XY3</option>
</select>
...also der "nachträgliche" Einbau des onchange Handlers in den Select mit der Zuweisung eines entsprechenden Funktionsaufrufes. Ich hoffe ich habe Alexanders Rat bzgl. new function gestern richtig eingesetzt, leider klappt es damit aber nicht.
Für jede Hilfe, z.B. auch der Aussage, daß das nicht klappen kann, wäre ich sehr dankbar!
Viele Grüße & sorry für das lange Posting
_marcus