BlackHawk: Hilfe bei Radio INPUT + ONCLICK (neues Attribut)

Moin Moin zusammen...

Es geht um folgendes: Ich arbeite an einem Portal und muss dort den HTML Quelltext verändern, der sonst durch eine ASPX erzeugt wird.

Dazu möchte ich bei bei einem INPUT Feld vom Type Radio das Attribut "onclick" hinzufügen, weil "onchange" im IE ja hin und wieder Probleme macht. Wie eben geschrieben sind die User hier auf die IE angewiesen und auch nur dieser interessiert bei der Interpretation. Folgendermaßen schaut der Quelltext aus:

  
var ids = ["ctl00_PlaceHolderMain_g_e8256d99_d9e5_44a9_9f58_08674facece4_ff7_1_ctl00_ctl00", "ctl00_PlaceHolderMain_g_e8256d99_d9e5_44a9_9f58_08674facece4_ff7_1_ctl00_ctl01", "ctl00_PlaceHolderMain_g_e8256d99_d9e5_44a9_9f58_08674facece4_ff7_1_ctl00_ctl02", "ctl00_PlaceHolderMain_g_e8256d99_d9e5_44a9_9f58_08674facece4_ff7_1_ctl00_ctl03"];  
							  
for(var i = 0; i < ids.length; i++)  
{  
var click = document.createAttribute("onclick");  
click.nodeValue = "handleChange()";  
document.getElementById(ids[i]).setAttributeNode(click);  
							alert(document.getElementById(ids[i]).getAttribute("onclick"));	  
}  

Jetzt werden einige sagen, dass ich den Wert des Attributes über "click.onclick = "handleChange()"" zuweisen soll aber auch das geht nicht. Ich habe mittlerweile hier im Forum so unendlich viele Threads gelesen und keine der Möglichkeiten funktioniert.

Der oben gepostete Quelltext steht in einer Funktion mit dem Namen "attr()" und das ist der einzige Text. Des Weiteren steht in der "handleChange" nur ein "alert", welcher ein Text ausgibt, mehr nicht.
In FireFox funktionieren alle meine Möglichkeiten super und es gibt keine Probleme aber im IE kommt einfach gar nichts. Kein Fehler, keine Meldung, einfach nichts...

Ich bin am Ende mit meinem Latein und weiß nicht weiter. Pls help ;-)!

Danke im Voraus für alle Bemühungen!

  1. Hallo,

    Dazu möchte ich bei bei einem INPUT Feld vom Type Radio das Attribut "onclick" hinzufügen, weil "onchange" im IE ja hin und wieder Probleme macht.

    soso, und dann verwendest du createAttribute, ...

    for(var i = 0; i < ids.length; i++)
    {
    var click = document.createAttribute("onclick");
    click.nodeValue = "handleChange()";
    document.getElementById(ids[i]).setAttributeNode(click);
    alert(document.getElementById(ids[i]).getAttribute("onclick"));
    }

    ... das "im IE ja hin und wieder Probleme macht". Also Regen statt Schauer?

    Jetzt werden einige sagen, dass ich den Wert des Attributes über "click.onclick = "handleChange()"" zuweisen soll

    Nein. An den Eventhandler wird ein Funktionsobjekt oder eine Funktionsreferenz zugewiesen, kein String. Also hier:

    click.onclick = handleChange;

    So long,
     Martin

    --
    Butterkeksverteiler zu werden ist vermutlich eine der wenigen beruflichen Perspektiven, die sich noch bieten, wenn man einen an der Waffel hat.
      (wahsaga)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Also... Grundlegend funzt createAttribute und wenn ich mir meine Sachen printen lasse, dann kann "alert" auch den richtigen Wert auslesen. Nun ja...

      Ich bin kein Freund vom IE, habe aber mehr Regen als Schauer, ja :-D

      Wie genau möchtest du denn dann, dass ich ein Attribut erstelle, welches noch nicht da ist?

      1. Hallo,

        Ich bin kein Freund vom IE, habe aber mehr Regen als Schauer, ja :-D

        ich _war_ jahrelang ein Fan des IE (aus Anwendersicht), bin aber nun schon lange vom Browser aus Norwegen überzeugt. ;-)

        Wie genau möchtest du denn dann, dass ich ein Attribut erstelle, welches noch nicht da ist?

        Hab ich dir doch gezeigt. Außerdem möchtest du in Wirklichkeit kein Attribut erzeugen, sondern eine Eigenschaft eines Javascript-Objekts.

        Ciao,
         Martin

        --
        Lache, und die Welt wird mit dir lachen.
        Schnarche, und du schläfst allein.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hab ich dir doch gezeigt. Außerdem möchtest du in Wirklichkeit kein Attribut erzeugen, sondern eine Eigenschaft eines Javascript-Objekts.

          Ciao,
          Martin

          Magst du also, dass ich nur:

            
          var ids = ["ctl00_PlaceHolderMain_g_e8256d99_d9e5_44a9_9f58_08674facece4_ff7_1_ctl00_ctl00", "ctl00_PlaceHolderMain_g_e8256d99_d9e5_44a9_9f58_08674facece4_ff7_1_ctl00_ctl01", "ctl00_PlaceHolderMain_g_e8256d99_d9e5_44a9_9f58_08674facece4_ff7_1_ctl00_ctl02", "ctl00_PlaceHolderMain_g_e8256d99_d9e5_44a9_9f58_08674facece4_ff7_1_ctl00_ctl03"];  
            
          for(var i = 0; i < ids.length; i++)  
          {  
          document.getElementById(ids[i]).onclick = hanldeChange;  
          }  
          
          

          tipper, ja? Das klappt leider auch nicht...

          1. document.getElementById(ids[i]).onclick = hanldeChange;

            tipper, ja? Das klappt leider auch nicht...

            wen wundert's? (handle != hanlde)

            Trotz IE: schau doch auch mal in die Fehlerkonsole des FF!

            1. Sorry, im Quelltext steht "handle" richtig drin und es geht trotzdem nicht.

              ? Warum soll ich in der Fehlerkonsole vom FF nachschauen, im FF funzt ja alles problemlos, nur im IE geht es nicht. Einen Fehler werde ich dort also nicht finden, denke ich.

              1. Das Problem habe ich grade gelöst... Nach nochmaligem, langem Suchen, habe ich die Lösung hier gefunden.

                Danke für die Mühen und frohe Ostern!