Moin Moin!
// "Save" Button wegnehmen:
var saveBtn = document.getElementById("Save");
var form = document.getElementById("f");
form.removeChild(saveBtn);
Das wird nur funktionieren, wenn der Button ein direktes Kind des Formulars ist.
saveBtn.parentNode.removeChild(saveBtn);
funktioniert auch, wenn das nicht der Fall ist.
// "Text ändern" Button anlegen und zeigen:
var btn = document.createElement("button");
var id = document.createAttribute("id");
createAttribute() ist mit dem IE problematisch, steht schon in SelfHTML.
id.nodeValue = "ChangeText";
btn.setAttributeNode(id);
btn["id"]="ChangeText";
oder
btn.id="ChangeText";
sollte immer funktionieren.
var click = document.createAttribute("onclick");
click.nodeValue = "changeText()";
btn.setAttributeNode(click);
Prinzipiell hier nochmal, allerdings kannst Du die Funktionsreferenz direkt zuweisen:
btn["onclick"]=changeText; // keine Klammern!
oder
btn.onclick=changeText; // keine Klammern!
ggf. mußt Du changeText vor diese Funktion ziehen, damit Javascript die Funktion an dieser Stelle schon kennt.
btn.appendChild(document.createTextNode("Text ändern"));
form.appendChild(btn);
}function changeText() {
// textarea anlegen und statt Text anzeigen:
var txt = document.createElement("textarea");
var name = document.createAttribute("name");
var id = document.createAttribute("id");
var cols = document.createAttribute("cols");
var rows = document.createAttribute("rows");
name.nodeValue = "txt";
id.nodeValue = "txt";
cols.nodeValue = "50";
rows.nodeValue = "8";
txt.setAttributeNode(name);
txt.setAttributeNode(id);
txt.setAttributeNode(cols);
txt.setAttributeNode(rows);
Noch ein paar Mal das IE-Problem:
txt.name="txt";
txt.id="txt";
txt.cols=50;
txt.rows=8;
txt.value = document.getElementById("textBlock").firstChild.nodeValue;
document.getElementById("textBlock").replaceChild(txt,document.getElementById("textBlock").firstChild);// "Save" Button anlegen und zeigen:
var btn = document.createElement("button");
id = document.createAttribute("id");
id.nodeValue = "Save";
Und wieder ...
btn.setAttributeNode(id);
var click = document.createAttribute("onclick");
click.nodeValue = "writeText()";
btn.setAttributeNode(click);
Und wieder ...
btn.appendChild(document.createTextNode("Änderung übernehmen"));
document.getElementById("f").appendChild(btn);// "Text ändern" Button wegnehmen
var changeBtn= document.getElementById("ChangeText");
var form = document.getElementById("f");
form.removeChild(changeBtn);
Und hier nochmal das Parent-Spiel von ganz oben:
changeBtn.parentNode.removeChild(changeBtn);
}
Alexander