Nach verstecken von Div -> Reload

chmee

verstaubtes inventar
Premium-User
Ich mal wieder :) Ich weiss gerade nicht, wo der Fehler steckt oder ob es typisch ist, dass ein Browser nach vollbrachter Arbeit in einer function automatisch an den Seitenanfang springt. Ich befürchte, es ist ein Fehler :)

Gegeben : http://bf2.phreekz.de - Oben Rechts - Fight Us ! - Ruhig anklicken und ausfüllen :D

Source :
JS ab Zeile 188 - HTML ab Zeile 241

In Firebug stutze ich immer, weil sogar bei "Send"-Knopf (sollich=1) in das if (sollich==0) gesprungen wird. Zeile 224.

Grundsätzlich ist es gegen die Gepflogenheiten, hier keinen Source zu setzen, aber ich kann den Fehler nur grob im beschriebenen Bereich vermuten. Vielleicht gehe ich auch mit der Form ab Zeile 247 falsch um und muss die JS-Funktion als action angeben..

Dank an Alle Helfer. mfg chmee
 
Hi,

bin mir nicht sicher, ob ich Dein Problem verstanden habe...

oder ob es typisch ist, dass ein Browser nach vollbrachter Arbeit in einer function automatisch an den Seitenanfang springt.

Ich habe jetzt nicht den ganzen Quelltext durchgeackert, aber das kann man vermeiden, indem man in den onclick-Handlern ein "return false;" anhängt.

Ansonsten fällt mir in der Funktion fightUsClose auf, dass Du dort keinen onreadystatechange-Handler definiert hast. Du fragst einfach mailer.readyState ab (quasi während der Request noch "zugange" ist, wenn ich das richtig sehe...).

Vielleicht hilft Dir das ja schon weiter.

LG
 
Naja...du hast da 2 Submit-Buttons, und wenn man da raufklickt, dann wird halt das Formular gesendet, wenn man nichts dagegen macht :-)
 
Eigentlich sind es zwei Probleme, die mich wurmen.

1. Die Seite sollte NICHT reloaden, das tut sie aber, wenn man das FightUs-Formular absendet.
2. Sollte nach dem Absenden oder Schließen noch ein kleines DIV erscheinen mit OK oder Fehler, das wird auch nicht angezeigt. Funktion fuErrorResponse()

So denke ich, dass dort irgendwo der Fehler steckt. Bevor ich die FightUs-Routinen geschrieben habe, ging meines Erachtens alles wunderbar und auch die von Dir erwähnte Sache kann richtig sein, hat aber bis Dato in der Tabellenfunktion (mittig) funktioniert, ergo kopierte ich sie nur rüber..

potentielle Fehlerquellen:
Die Form im HTML-Code im -ich glaube- FightUs-DIV
Die oben genannten JS-Zeilen.

**EDIT** Sven, Ich kann Dir nicht folgen.. Es ist nicht erlaubt, 2 Submit-Buttons zu setzen ? Oder anders, wenn ich auf den Einen drücke, wird auch das Event des Zweiten abgefeuert ?

Erstmal Danke für Eure Hilfe.
mfg chmee
 
Hi,

hast Du mal probiert, in den onclick-Handlern der Buttons ein "return false;" anzuhängen? Denn sonst wird halt das Formular abgesendet und die Seite wird mit den Parametern des Formulars aufgerufen.

LG

Nachtrag:

**EDIT** Sven, Ich kann Dir nicht folgen.. Es ist nicht erlaubt, 2 Submit-Buttons zu setzen ? Oder anders, wenn ich auf den Einen drücke, wird auch das Event des Zweiten abgefeuert ?

Doch natürlich kannst Du mehrere Buttons haben. Dein Problem ist, dass folgendes passiert:

Bei Klick auf einen Button wird die Javascript-Funktion des onclick-Handlers aufgerufen und es wird das Formular abgesendet. Letzteres verhinderst Du mit return false;
 
Zuletzt bearbeitet:
Danke erstmal für die Info. Wohin abgesendet ?
Ich habe meiner Form kein action=".." mitgegeben.
Darf ich das return false an den Funktionsaufruf ranhängen ?

Was löst (nicht:) ) das return false; genau aus ? Vermeiden des Neuladens ?

**EDIT** Habe eben dran gesessen und die Submit Buttons weggenommen und anstatt dessen zwei >a href img< mit funktionsaufruf gesetzt. Nur so nebenbei.. So reload'ed es bei CLOSE auch nicht mehr, sondern schliesst einfach, wie erhofft.

mfg chmee
 
Hi,

Wohin abgesendet ?
Ich habe meiner Form kein action=".." mitgegeben.

Womit Du die Entscheidung wohl dem Browser überlässt... ;)

Darf ich das return false an den Funktionsaufruf ranhängen ?

Klar: onclick="machwas(); return false;"

Was löst (nicht ) das return false; genau aus ? Vermeiden des Neuladens ?

Bei einem Sendebutton eines Formulars verhindert es eben das Senden.

**EDIT** Habe eben dran gesessen und die Submit Buttons weggenommen und anstatt dessen zwei >a href img< mit funktionsaufruf gesetzt. Nur so nebenbei.. So reload'ed es bei CLOSE auch nicht mehr, sondern schliesst einfach, wie erhofft.

Also bei mir wird jetzt die Funktion ausgegeben, also der Quelltext.
Probier es mal so:

HTML:
<a href="#" onclick="fightUsClose(1); return false;"><img src="./_pix/FightSend.gif" alt="Absenden"></a>

LG
 
Jupp, inzwischen ist es "Wald vor lauter Bäumen nicht"-Getippe. Blödsinnsfehler..
Ich teste gleich mal. Danke für die return false; Info.
 

Neue Beiträge

Zurück