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