Anker aufrufen
Thomas
- javascript
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
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
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
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
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.
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
Hi,
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
Hallo
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
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
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
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
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
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
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
@@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'