Axel: Dynamische Input-Box

Hallo,

kann mir jemand mal auf mein Code schauen, und mir sagen, warum das nicht funktioniert?

  
<html>  
<head><title></title>  
  
<script type="text/javascript">  
  
function Add ()  
{  
 var a1 = document.createElement('input');  
 a1.name = 'a1';  
 document.getElementById('User').appendChild(a1);  
  
}  
  
function Del ()  
{  
 var a1= document.getElementById('User').getElementById('a1');  
 a1.parentNode.removeChild(a1);  
}  
  
</script>  
  
</head>  
<body>  
<formular id="form1">  
<input type="button" value="Append" onclick="Add()">  
<input type="button" value="Remove" onclick="Del()">  
  
<div id="User">  
</div>  
  
</formular>  
  
</body>  
</html>  
  

Es soll nur eine Inputbox eingefügt und gelöscht werden können. Leider funktioniert nur beim Einfügen. Beim Löschen gibt es "Das Objekt unterstützt diese Eigenschaft oder Methode nicht."

Vielen Dank und Gruß
Axel

  1. hi,

    Beim Löschen gibt es "Das Objekt unterstützt diese Eigenschaft oder Methode nicht."

    Weil du überhaupt nicht mit dem Objekt arbeitest, mit dem du zu arbeiten glaubst - du wendest

    var a1= document.getElementById('User').getElementById('a1');
    a1.parentNode.removeChild(a1);

    letztendlich auf null an, weil dir getElementById('a1') leider kein Element liefern kann, denn du hast keins mit dieser ID.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hi,

      Beim Löschen gibt es "Das Objekt unterstützt diese Eigenschaft oder Methode nicht."

      Weil du überhaupt nicht mit dem Objekt arbeitest, mit dem du zu arbeiten glaubst - du wendest

      das ist mir soweit schon klar ;-)

      var a1= document.getElementById('User').getElementById('a1');
      a1.parentNode.removeChild(a1);

      letztendlich auf null an, weil dir getElementById('a1') leider kein Element liefern kann, denn du hast keins mit dieser ID.

      die function:
      [code lan=javascript]
      function Add ()
      {
       var a1 = document.createElement('input');
       a1.name = 'a1';
       document.getElementById("User").appendChild(a1);
      }
      [/code]
      legt eine Input-Box an. Mit a1.name = 'a1' soll hier der name(id) zugewiesen werden. Auch mit a1.setAttribute('id', 'a1'); funktioniert nicht. Warum?

      Du könntest fielleicht auch einen Tipp geben, wie das gemacht werden soll?

      1. Problem gelöst. So geht's:
        [code]
        function Add ()
        {
         var a1 = document.createElement('input');
         a1.setAttribute('id', 'a1');
         document.getElementById("User").appendChild(a1);

        }

        function Del ()
        {
         var a1 = document.getElementById('a1');
         document.getElementById('User').removeChild(a1);
        }
        [code]

      2. hi,

        die function:

        function Add ()
        {
        var a1 = document.createElement('input');
        a1.name = 'a1';
        document.getElementById("User").appendChild(a1);
        }

        
        > legt eine Input-Box an. Mit a1.name = 'a1' soll hier der name(id) zugewiesen werden.  
          
        name != id  
          
        
        > Auch mit a1.setAttribute('id', 'a1'); funktioniert nicht. Warum?  
          
        setAttribute ist auch vollkommen unnötig.  
          
        a1.id = "xyz";  
          
        gruß,  
        wahsaga  
          
        
        -- 
        /voodoo.css:  
        #GeorgeWBush { position:absolute; bottom:-6ft; }