JS Problem mit Opera - onload Event vs. aufruf im body tag

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • JS Problem mit Opera - onload Event vs. aufruf im body tag

    Hi Leute,


    ich will, dass die Funktion activate() sofort aufgerufen wird.
    Dazu habe ich sie im body tag aufgerufen...

    Code:
    <script type="text/javascript">
    activate(document.formname);
    </script>
    Die Funktion activate() greift auf dieses Formular zu. Das Problem ist, dass vor dem Formular sehr viel Text steht.
    Im IE klappt das angehängte Beispiel. Im Opera 6.0 leider nicht. Rufe ich die Funktion activate() allerdings im onload Attribut des Body Tags auf (<body onload="activate(document.formname);">), dann klappt es. Allerdings wird die Funktion dann nicht sofort aufgerufen sondern erst, wenn die komplette seite geladen ist (auch mit bildern etc.).

    ich will onload wenn möglich nicht verwenden, weil das länger dauern kann, wenn z.b. die bilder lange geladen werden.

    hat jemand ne idee, woran das liegen kann und wie ich es umgehen kann?
    Angehängte Dateien
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt

  • #2
    Re: JS Problem mit Opera - onload Event vs. aufruf im body tag

    Die Funktion activate() greift auf dieses Formular zu. Das Problem ist, dass vor dem Formular sehr viel Text steht.
    Im IE klappt das angehängte Beispiel. Im Opera 6.0 leider nicht.
    was genau ist das problem? wie äussert sich "klappt nicht" - fehlermeldungen etc. ?
    was soll die funktion activate() bewirken?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Was sie bewirkt steht doch im Quelltext:
      Code:
      <script type="text/javascript">
      function activate(form)
      {
      	var status = form.bestimmtes_feld.value;
      	
      	// activate
      	if(status=='false' && form.anderes_feld.value!='')
      	{
      		form.bestimmtes_feld.value='true';
      		form.bestimmte_checkbox.checked=true;
      		return true;
      	}
      	// deactivate
      	else
      	{
      		form.bestimmtes_feld.value='false';
      		form.bestimmte_checkbox.checked=false;
      		return false;
      	}
      }
      </script>
      Das Problem ist: Es kommt keine Fehlermeldung.
      der Wert im Formular wird nicht verändert (das Feld und die Checkbox).
      [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
      [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
      [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

      © Harald Schmidt

      Kommentar


      • #4
        sorry, den gezippten anhang konnte ich heute mittag auf der arbeit nicht runterladen.

        also bei mir funzt das ohne probleme im opera 7b2...
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Hm, dass es im Opera 7.0 b2 geht hab ich schon rausgefunden. Aber anscheinend geht es nicht ganz so zuverlässig im Opera 6.0.x
          [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
          [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
          [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

          © Harald Schmidt

          Kommentar


          • #6
            also opera 6.04 hab ich auch noch mal eben ausprobiert, funktioniert ebenso problemlos... nachdem ich javascript wieder angeschaltet hatte - sicher dass der fehler bei dir nicht zufällig daran lag? hab's nämlich auch erst nicht gemerkt, dass es aus war ;-)
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Nein, daran liegt es nicht, denn wenn ich nachdem die Seite geladen ist, auf die Checkbox klicke und damit die Funktion aufrufe, dann verändert die Funktion die Werte im Formular sofort.

              Nur halt nicht, wenn sie gleich am Anfang aufgerufen wird
              Ich habe das jetzt nur im Opera 6.0.1 Build 1041 getestet.

              Ich vermute, es liegt daran, dass vor dem Formular so viel Text ist.
              Wenn ich den nämlich kürze oder weglasse, dann geht es.
              Je mehr Text, desto eher geht es nicht. Vielleicht spielt auch der PC des Clients ne Rolle, sprich wie viel RAM der hat oder so?
              Kann ja sein, dass nem High-End PC der viele Text nichts ausmacht.

              hm, die Funktion kann die Formularwerte anscheinend erst verändern, wenn die Seite komplett geladen ist.
              [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
              [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
              [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

              © Harald Schmidt

              Kommentar


              • #8
                hm, die Funktion kann die Formularwerte anscheinend erst verändern, wenn die Seite komplett geladen ist.
                dann versuch doch mal sie per onLoad im body-tag zu triggern...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar

                Lädt...
                X