Michael: IE: name-Attribut wird nicht gesetzt

Hallo.

Bei einem dynamisch erzeugten Formular sollen zu bestimmten Formularelementen bestimmte name-Attribute gesetzt werden (die der id des Elternelements x entsprechen z.B.).

In einer Funktion wird ein Array f (f = x.getElementsByTagName("input")) durchlaufen und jedem input-Element soll nun z.B. die id von x zugewiesen werden:
for (i=0; i<f.length; i++) {f[i].name = x.id;}

Wenn ich ein alert(x.innerHTML) ausgebe, sehe ich, dass die name-Attribute im IE nicht vorhanden sind (in anderen Browsern hingegen schon). Ich habe es probehalber mal mit f[i].id = x.id probiert und die ids wurden schon gesetzt.

Kann mir bitte jmd. einen Tipp geben, warum die name-Attribute hier nicht gesetzt werden?

Dank und Grüße
Michael

  1. Kann mir bitte jmd. einen Tipp geben, warum die name-Attribute hier nicht gesetzt werden?

    Kann ich nicht nachvollziehen.

    function setName(el)  
    {  
    var f = el.form;  
    for(var i = 0; i < f.elements.length; i++)  
    if( f.elements[i] != el) f.elements[i].name = el.id;  
    }  
    
    
    <form action="#">  
    <input name="xx" onclick="alert(this.name)">  
    <input name="xy" onclick="alert(this.name)">  
    <input name="xz" onclick="alert(this.name)">  
    <input name="xa" onclick="alert(this.name)">  
    <input type="button" onclick="setName(this)" value="neu" id="NEU!">  
    </form>  
    
    

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Hi,

      Kann mir bitte jmd. einen Tipp geben, warum die name-Attribute hier nicht gesetzt werden?
      Kann ich nicht nachvollziehen.

      <form action="#">

      <input name="xx" onclick="alert(this.name)">

        
      Weil Deine Form-Elemente nicht dynamisch erzeugt wurden.  
        
      cu,  
      Andreas
      
      -- 
      [Warum nennt sich Andreas hier MudGuard?](http://MudGuard.de/)  
      [Schreinerei Waechter](http://www.schreinerei-waechter.de/)  
      [O o ostern ...](http://ostereier.andreas-waechter.de/)  
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.  
      
      
      1. Kann mir bitte jmd. einen Tipp geben, warum die name-Attribute hier nicht gesetzt werden?
        Kann ich nicht nachvollziehen.

        <form action="#">

        <input name="xx" onclick="alert(this.name)">

        
        >   
        > Weil Deine Form-Elemente nicht dynamisch erzeugt wurden.  
          
        Ich wußte doch, da war was....  
          
        Struppi.
        
        -- 
        [Javascript ist toll](http://javascript.jstruebig.de/) (Perl auch!)
        
    2. Hallo,

      tut mir leid, hätte meinen Bsp.code nicht ganz so stark aufs wesentliche reduzieren sollen.

      Danke trotzdem vielmals

      Michael

  2. Hi,

    Bei einem dynamisch erzeugten Formular sollen zu bestimmten Formularelementen bestimmte name-Attribute gesetzt werden (die der id des Elternelements x entsprechen z.B.).

    http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/name_2.asp - 3. Absatz unter "Remarks"

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hallo Andreas,

      danke für die schnelle Antwort!

      Werde noch nicht 100%ig schlau daraus:
      "Microsoft JScript allows the name to be changed at run time. This does not cause the name in the programming model to change in the collection of elements, but it does change the name used for submitting elements."

      Soll das evtl. bedeuten, dass zwar das name-Attribut nicht (sichtbar) geändert wird, aber das Formular trotzdem mit dem entsprechenden Namen versendet wird?

      Danke nochmal.

      Michael

      1. Hallo Michael,

        "Microsoft JScript allows the name to be changed at run time. This does not cause the name in the programming model to change in the collection of elements, but it does change the name used for submitting elements."

        Soll das evtl. bedeuten, dass zwar das name-Attribut nicht (sichtbar) geändert wird, aber das Formular trotzdem mit dem entsprechenden Namen versendet wird?

        genau so verstehe ich das auch. :-)

        Ciao,
         Martin

        --
        Um die Wahrheit zu erfahren, muss man den Menschen widersprechen.
          (George Bernhard Shaw)