.firstChild ersetzen durch aktuller knoten
Thomas Michel
- javascript
0 Bio0 Thomas Michel0 Bio
0 Thomas Meinike
Hallo zusammen
Ich generiere dynamisch formularfelder, was auch funktioniert ;) nun möchte ich dass der user den akutellen knoten entfernen kann. Den knoten entfernen ist kein problem nur nöchte ich nicht den ersten knoten entfernen sonder den aktuellen. Wie kann ich darauf zugreiffen?
mfG
Thomas Michel
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Test</title>
<style type="text/css">
<!--
-->
</style>
<script type="text/javascript">
<!--
var datumcounter=-1;
function Hinzufuegen()
{
datumcounter++;
zahlausgabe=datumcounter+1;
var menudatum="<div class="datumdiv_"+zahlausgabe+"">"+zahlausgabe+"<select name="datum[tag]["+datumcounter+"]" size="1" onFocus ="deaktivieren("+datumcounter+")">";
menudatum=menudatum+"<option value="none">---</option>";
for(a=1;a<=31;a++)
{
menudatum=menudatum+"<option>"+a+"</option>";
}
menudatum=menudatum+"</select>";
menudatum=menudatum+"<select name="datum[monat]["+datumcounter+"]" size="1"><option value="none">---Bitte wählen---</option><option value="1">Januar</option><option value="2">Februar</option><option value="3">März</option><option value="4">April</option><option value="5">Mai</option><option value="6">Juni</option><option value="7">Juli</option><option value="8">August</option><option value="9">September</option><option value="10">Oktober</option><option value="11">November</option><option value="12">Dezember</option></select><input type="text" name="datum[jahr]["+datumcounter+"]" size="4"> <a href="javascript:deaktivieren("+datumcounter+")">loeschen</a></div>";
document.getElementById("User").innerHTML =document.getElementById("User").innerHTML+menudatum;
}
function deaktivieren(id_deaktivieren)
{
var Knoten=document.getElementById("User").firstChild;
document.getElementById("User").removeChild(Knoten);
}
//-->
</script>
</head><body>
<form name="test" action="" method="post">
<a href="javascript:Hinzufuegen()">hinzufügen</a>
<div id="User" style="background-color:#FFFFC0; padding:10px">
</div>
<input type="submit">
</form>
</body></html>
Sup!
Gibt's das evtl. auch live und in Farbe bzw. gibt es irgendwo das zu sehen, was dieser Quellcode dann im Endeffekt generiert, woher kommt das Element namens "User", und wo im Quellcode liegt das Problem?
Gruesse,
Bio
Hallo
ich möchte das nicht der erste node gelöscht wird sondern der aktuelle ;)
ich habe die daten hochgeladen du findest sie unter:
http://www.michelnet.ch/ipa/selfhtml.htm
mfG
Thomas Michel
Sup!
Vielleicht kannst Du in der Javascript-Funktion, die ausgelöst wird, auch einfach this.remove(); schreiben? Das ist natürlich Pseudocode... aber oft hat man mit this.xyz automatisch Zugriff auf das "aktuelle" Element.
Gruesse,
Bio
Hallo,
Ich generiere dynamisch formularfelder, was auch funktioniert ;) nun möchte ich dass der user den akutellen knoten entfernen kann. Den knoten entfernen ist kein problem nur nöchte ich nicht den ersten knoten entfernen sonder den aktuellen. Wie kann ich darauf zugreiffen?
Ich habe Dein Script mal etwas angepasst. Beim Erzeugen der DIVs wird jeweils eine ID vergeben ("neu"+datumcounter) und beim Entfernen wird entsprechend ueber diese IDs referenziert:
<script type="text/javascript">
<!--
var datumcounter=-1;
function Hinzufuegen()
{
datumcounter++;
zahlausgabe=datumcounter+1;
var menudatum="<div id="neu"+datumcounter+"" class="datumdiv_"+zahlausgabe+"">"+zahlausgabe+"<select name="datum[tag]["+datumcounter+"]" size="1" onFocus ="deaktivieren("+datumcounter+")">";
menudatum=menudatum+"<option value="none">---</option>";
for(a=1;a<=31;a++)
{
menudatum=menudatum+"<option>"+a+"</option>";
}
menudatum=menudatum+"</select>";
menudatum=menudatum+"<select name="datum[monat]["+datumcounter+"]" size="1"><option value="none">---Bitte wählen---</option><option value="1">Januar</option><option value="2">Februar</option><option value="3">März</option><option value="4">April</option><option value="5">Mai</option><option value="6">Juni</option><option value="7">Juli</option><option value="8">August</option><option value="9">September</option><option value="10">Oktober</option><option value="11">November</option><option value="12">Dezember</option></select><input type="text" name="datum[jahr]["+datumcounter+"]" size="4"> <a href="javascript:deaktivieren("+datumcounter+")">loeschen</a></div>";
document.getElementById("User").innerHTML =document.getElementById("User").innerHTML+menudatum;
}
function deaktivieren(id_deaktivieren)
{
var Knoten=document.getElementById("neu"+id_deaktivieren);
document.getElementById("User").removeChild(Knoten);
}
//-->
</script>
MfG, Thomas
[Nachtrag:]
Ich habe Dein Script mal etwas angepasst.
Die fehlenden "" bei schließenden Tags habe ich nicht ergaenzt, z. B.: "</select>".
MfG, Thomas