Thomas: Anker aufrufen

Hallo

innerhalb eines Formulares habe ich eine Serie von Radio-Buttons. Um Eingaben zu löschen habe ich folgende JS-Funktion gemacht:

  
function resetRadioC() {  
		document.antrag.Vers_C[0].checked=false;  
		document.antrag.Vers_C[1].checked=false;  
		document.antrag.Vers_C[2].checked=false;  
		document.antrag.Vers_C[4].checked=false;  
		self.location.href="#vers";  
}  

Ziel wäre es, dass nach dem erfolgreichen löschen wieder innerhalb des Formulares an den Radio-Button Ort gesprungen wird. Dies versuchte ich mit einem Anker #vers doch leider bleibt der sprung aus, ich lande wieder am Anfang.

Hat mir jemand eine Idee was das falsch ist?

Danke und Gruss
Thomas

  1. Hi,

    Ziel wäre es, dass nach dem erfolgreichen löschen wieder innerhalb des Formulares an den Radio-Button Ort gesprungen wird. Dies versuchte ich mit einem Anker #vers doch leider bleibt der sprung aus, ich lande wieder am Anfang.

    Und welches Element ist als Anker ausgezeichnet, und wie?

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hallo

      Und welches Element ist als Anker ausgezeichnet, und wie?

      so: <a name="vers"></a>  wenn ich den Anker von Hand aufrufe funktioniert das prima. Hab auch mit dem Filename ausgeschrieben probier: window.location.href="dienstleistungen.php#vers";

      Im URL-Bar hab ich dann einfach noch dienstleistungen.php# Schein, alles nach dem # verschwindet.

      Merci + Gruss
      Thomas

      1. Hi,

        Hab auch mit dem Filename ausgeschrieben probier: window.location.href="dienstleistungen.php#vers";

        Im URL-Bar hab ich dann einfach noch dienstleistungen.php# Schein, alles nach dem # verschwindet.

        http://de.selfhtml.org/javascript/objekte/location.htm#hash

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Hallo

          Merci für die Antwort

          Hab auch mit dem Filename ausgeschrieben probier: window.location.href="dienstleistungen.php#vers";

          Im URL-Bar hab ich dann einfach noch dienstleistungen.php# Schein, alles nach dem # verschwindet.

          http://de.selfhtml.org/javascript/objekte/location.htm#hash

          Das Problem ist aber, dass ich den Anker vorher gar nie angeklickt habe, er steht also gar nie im URI. Ich möchte einfach, dass nach dem leeren der Radio Buttons, die seite mit dem fixen Anker aufgerufen wird.

          Beste Grüsse
          Thomas

          1. Hi,

            http://de.selfhtml.org/javascript/objekte/location.htm#hash

            Das Problem ist aber, dass ich den Anker vorher gar nie angeklickt habe, er steht also gar nie im URI.

            Er soll ja auch erst da stehen, nachdem er angesprungen wurde.

            Ich möchte einfach, dass nach dem leeren der Radio Buttons, die seite mit dem fixen Anker aufgerufen wird.

            Bitte lies verlinkte Stellen *aufmerksam*.
            „Wenn Sie diese Angabe ändern, bewirken Sie einen Verweis innerhalb der Datei zu dem angegebenen Anker.“

            MfG ChrisB

            --
            RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
            1. Hallo

              http://de.selfhtml.org/javascript/objekte/location.htm#hash

              Das Problem ist aber, dass ich den Anker vorher gar nie angeklickt habe, er steht also gar nie im URI.

              Er soll ja auch erst da stehen, nachdem er angesprungen wurde.

              Ich möchte einfach, dass nach dem leeren der Radio Buttons, die seite mit dem fixen Anker aufgerufen wird.

              Bitte lies verlinkte Stellen *aufmerksam*.
              „Wenn Sie diese Angabe ändern, bewirken Sie einen Verweis innerhalb der Datei zu dem angegebenen Anker.“

              Irgendwie stehe ich auf dem Schlauch. Setze diesen Hash aber wie rufe ich nachher die Seite entsprechen auf?

              window.location.hash = "#vers";  
              		alert(window.location.hash);  
              		self.location.href= window.location.hash;
              

              Mit nur window.location.hash =... passiert gar nix

              Danke schon mal, Gruss
              Thomas

              1. Hi,

                Irgendwie stehe ich auf dem Schlauch. Setze diesen Hash aber wie rufe ich nachher die Seite entsprechen auf?

                Wo willst du irgendeine (neue) Seite aufrufen?
                Ich dachte, du wolltest lediglich innerhalb des aktuell geladenen Dokumentes an eine bestimmte Stelle springen?

                Mit nur window.location.hash =... passiert gar nix

                Würde aber, wenn der Anker tatsächlich im Dokument existiert.

                MfG ChrisB

                --
                RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
                1. Hoi

                  Irgendwie stehe ich auf dem Schlauch. Setze diesen Hash aber wie rufe ich nachher die Seite entsprechen auf?

                  Wo willst du irgendeine (neue) Seite aufrufen?
                  Ich dachte, du wolltest lediglich innerhalb des aktuell geladenen Dokumentes an eine bestimmte Stelle springen?

                  Ja genau

                  Mit nur window.location.hash =... passiert gar nix

                  Würde aber, wenn der Anker tatsächlich im Dokument existiert.

                  !! testlink
                  Der existiert aber. Es geht um die Löschfunktion unter versicherungen.

                  Gruss
                  Thomas

                  1. Hi,

                    Mit nur window.location.hash =... passiert gar nix

                    Würde aber, wenn der Anker tatsächlich im Dokument existiert.

                    !! testlink
                    Der existiert aber. Es geht um die Löschfunktion unter versicherungen.

                    ... den ich jetzt erst mal suchen musste. Bitte beschreibe in Zukunft klar und deutlich, wo man schauen soll - so ein winziges Icon übersieht man leicht, wenn man mit der Seite nicht vertraut ist. (Das bist du als Entwickler vielleicht, aber ich sehe sie gerade zum ersten mal.)

                    location.hash sehe ich dich dort im Code immer noch nicht verwenden, sondern immer noch fälschlicherweise location.href.

                    Btw., das Dokument enthält zahlreiche Fehler - ein großer Teil davon auf Grund der fehlerhaften JavaScript-Einbindung (MM_-Funktionen - ernsthaft ...?), weitere auf Grund der nicht XHTML-gerechten Schreibweise von bspw. Input-Elementen.

                    MfG ChrisB

                    --
                    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
                    1. Hi,

                      location.hash sehe ich dich dort im Code immer noch nicht verwenden, sondern immer noch fälschlicherweise location.href.

                      OK, bei der letzten Zeile verwendest du es tatsächlich.
                      Und es wird auch ordnungsgemäß ausgeführt - aber danach wird sofort an die Adresse gesprungen, die du als Linkziel angegeben hast, und damit der soeben angesprungene Anker natürlich wieder überschrieben:

                      <a title="Auswahl entfernen" onclick="resetRadioC()" href="#">...</a>

                      Bitte beschäftige dich entweder mit den Grundlagen des zeitgemäßen Einsatzes von JavaScript - oder lagere diesen Teil der Entwicklung an jemanden aus, der was davon versteht.

                      MfG ChrisB

                      --
                      RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
                  2. Hi,

                    Würde aber, wenn der Anker tatsächlich im Dokument existiert.
                    !! testlink
                    Der existiert aber. Es geht um die Löschfunktion unter versicherungen.

                    Wenn man auf das kleine Abfalleimerchen klickt, ist das doch sowieso im sichtbaren Bereich. Warum willst Du jetzt also zu ebendieser Stelle, die bereits sichtbar ist, noch hinspringen, wenn man doch schon dort ist?

                    cu,
                    Andreas

                    --
                    Warum nennt sich Andreas hier MudGuard?
                    O o ostern ...
                    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
  2. Hi,

      document.antrag.Vers\_C[0].checked=false;  
      document.antrag.Vers\_C[1].checked=false;  
      document.antrag.Vers\_C[2].checked=false;  
      document.antrag.Vers\_C[4].checked=false;  
    

    Kann es sein, daß nur 4 Radiobuttons in der Gruppe existieren?
    Du setzt hier die ersten 3 (Indizes 0 bis 2) und den 5. (Index 4) Button auf false - wenn der gar nicht existiert, müßte der Zugriff auf .checked scheitern, und damit die Scriptausführung noch vor

      self.location.href="#vers";  
    

    abbrechen (und eine Meldung in der Fehlerkonsole hinterlassen).

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
  3. @@Thomas:

    nuqneH

      document.antrag.Vers\_C[0].checked=false;  
      document.antrag.Vers\_C[1].checked=false;  
      document.antrag.Vers\_C[2].checked=false;  
      document.antrag.Vers\_C[4].checked=false;  
    

    Was soll das eigentlich?

    Wenn du einen bestimmten Radiobutton (hier: [3]) setzen willst:
    document.antrag.Vers_C[3].checked=true;

    Dass bei Radiobuttons immer genau einer gesetzt ist, weißt du? Der Funktionsname resetRadioC kommt mir da auch etwas komisch vor.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)