Weiteren Knoten einhängen / Text in Input umwandeln
Fabian
- javascript
0 berdn
Hiho!
Ich hab ein Skript gefunden, welches einen Text in ein Input Feld umwandelt:
window.onload = function() {
var elems = document.getElementsByTagName("*");
for( var i=0; i<elems.length; i++ ) {
if( !elems[i].className.match(/(?:^|\s+)editable(([A-Za-z][A-Za-z0-9-_:.]+))(?:\s+|$)/) ) {
continue;
}
elems[i].onclick = new Function("startEditing(this, '"+RegExp.$1+"')");
}
}
function startEditing( obj, name )
{
var input = document.createElement("input");
input.type = "text";
input.name = name;
input.value = obj.firstChild.nodeValue;
input.onblur = new Function("stopEditing(this.parentNode)");
obj.onclick = null;
obj.replaceChild(input, obj.firstChild);
input.focus();
}
function stopEditing( obj )
{
var text = document.createTextNode(obj.firstChild.value);
obj.onclick = new Function("startEditing(this, '"+obj.firstChild.name+"')");
obj.replaceChild(text, obj.firstChild);
}
Ich verstehe das in soweit, als das am Anfang der ganze Seiteninhalt durchlaufen wird und alle "class="editable" gesucht werden und dafür dynamisch Funktionen vom Typ startEditing erstellt werden.
In der Funktion(en) startEditing wird dann ein neues Inputfeld erzeugt und in den als neuer Child Knoten eingefügt bzw ersetzt den alten Child Knoten (warum wird der nicht überschrieben?).
Soweit so halb klar.
Mein Anliegen ist nun noch einen Submit Button mit einzuhängen. Wie das funktioniert hab ich noch nicht rausbekommen. Einiges rumprobieren hat leider nicht zum gewünschten Effekt geführt :)
Hätte da jemand nen Lösungsvorschlag?
Vielen Dank!
Greetz
Fabian
Hallo Fabian
und warum hängst Du nicht am Ende noch ein Submit Button dran ?
Aber das wird nicht reichen, Du brauchst das ganze noch in einem Formular.
Also entweder Du machst es Dir einfach:
Das Formular ist schon da.
Das Submit ist schon da, aber unsichtbar und wird erst "ein geblendet".
Oder Du beschäftigst Dich noch etwas mit Nodes und machst es gleich "richtig"
Liebe Grüße
Bernd