Doppelklick verhindern

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

  • Doppelklick verhindern

    Hallo,

    gibt es eigentlich eine sichere Methode um doppelte Einträge aus Formularen zu verhindern? (Doppelklick des Users)

    Gruß
    Thomas
    Gruß
    Thomas

  • #2
    Das ganze gehört zwar ins JS-Forum, aber was soll's:
    Code:
    auf den button:
    onclick:Document.DeineForm.DeinElement.disabled=true;
    und auf den anderen Elementen: 
    Document.DeineForm.DeinElement.disabled=false;
    Sag bescheid wenne Fragen hast...

    Kommentar


    • #3
      @Luke simmt! ist jetzt im JS-Forum

      php-Entwicklung | ebiz-consult.de
      PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
      die PHP Marktplatz-Software | ebiz-trader.de

      Kommentar


      • #4
        Muss immer wieder betonen wie cool ich es finde das sich wirklich um's Forum gekümmert wird - Riesenlob!

        Kommentar


        • #5
          Bescheid!

          Hi,

          wie ich das mit dem submit anstelle ist mir ja noch klar
          <INPUT TYPE="submit" NAME="abschicken" VALUE="Abschicken !" ONCLICK="Document.Formular.abschicken.disabled=true">

          aber wo zum Teufel stecke ich:
          Document.DeineForm.DeinElement.disabled=false;
          hin - in alle anderen Elememente von Formular, wenn ja mit welchem EventHandler - oder in die einleitende Form ?!

          stehe da irgendwie auf dem Schlauch...

          Gruß
          Thomas
          Gruß
          Thomas

          Kommentar


          • #6
            Ja, jedes Formelement sollte als Attribut onClick="Document.DeineForm.DeinElement.disabled=false;"
            (oder auch onFocus()) enthalten, damit der Benutzer das Form noch weiterhin benutzen kann.

            CAT Music Files

            Kommentar


            • #7
              Ich glaub eher onClick weil wenn sie ja disabled sind können sie den Fokus ja gar nich bekommen, oder?

              Kommentar


              • #8
                es reicht doch, wenn der button disabled wird.

                CAT Music Files

                Kommentar


                • #9
                  Re: Bescheid!

                  Original geschrieben von Thomas
                  ONCLICK="Document.Formular.abschicken.disabled=true"
                  Nur so am Rande: Es würde mich arg wundern, wenn dieses Konstrukt funktioniert. Wenn, dann vielleicht im IE, aber tendiert ja auch zur Schönrechnerei. "Document" muss deshalb "document" heißen, sonst sucht javascript nach einem Objekt namens "Document", kann es aber höchstwahrscheinlich nicht finden. Auch javascript ist case-sensitive...
                  Ich würde wahrscheinlich einen anderen Weg, da diese Methode mit "disabled" auf keinen Fall im NS4 gehen wird (er kennt noch kein "disabled" Attribut).

                  Warum nicht einfach mit onsubmit="" einen Flag setzen, der anzeigt dass das Formular versendet wird? Bei allen zukünftigen Klicks dann checken, ob Flag gesetzt ist, wenn ja, dann false zurückgeben - und voilà, das Formular wird nicht versendet.

                  Kommentar


                  • #10
                    Antrag unterstütze ich

                    Den Vorschlag von smeagol finde ich gut.

                    Aber mal eine Zusatzfrage: wenn ich nun ein Formular durch die obigen Varianten blockiere und ich komme auf eine Folgeseite und dort per history.back() zurück auf's Formular (wegen nötigen Änderungen etc.): sind dann eigentlich noch die Statusänderungen, egal ob disable-Variante oder Flag setzen, im Browserspeicher? Oder verfallen diese auf jeden Fall? Formulardaten merkt sich der Browser ja, wäre ja ziemlich blöd, wenn es das auch bei Variablen machen würde. Ich gehe davon aus, daß der Browser das nicht tut, aber man weiß ja nie... deshalb die Frage.

                    Kommentar


                    • #11
                      Re: Antrag unterstütze ich

                      wenn ich nun ein Formular durch die obigen Varianten blockiere und ich komme auf eine Folgeseite und dort per history.back() zurück auf's Formular (wegen nötigen Änderungen etc.): sind dann eigentlich noch die Statusänderungen, egal ob disable-Variante oder Flag setzen, im Browserspeicher? Oder verfallen diese auf jeden Fall? Formulardaten merkt sich der Browser ja, wäre ja ziemlich blöd, wenn es das auch bei Variablen machen würde. Ich gehe davon aus, daß der Browser das nicht tut
                      normale javascript-variablen merkt er sich soweit ich weiss nicht.
                      wenn er sich aber _doch_ etwas merken soll, kann man das dadurch erreichen, dass man eben ein formularelement zum 'abspeichern' der variable nimmt, und zwar mit
                      <input type="hidden" name="Name">
                      wenn man diesem feld dann irgendwo im seitenscript einen wert zuweist, sollte er erhalten bleiben, auch wenn auf eine andere seite und dann wieder zurück gewechselt wird.
                      allerdings sollte man kein value="..." im <input>-tag verwenden, denn sonst wird es ja bei jedem seitenaufruf mit diesem festen wert initialisiert, deshalb -> dynamische zuweisung per javascript.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        ich würde sagen die daten sind wech @brain
                        h.a.n.d.
                        Schmalle

                        http://impressed.by
                        http://blog.schmalenberger.it



                        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                        ... nur ohne :-)

                        Kommentar


                        • #13
                          Ich hab's grad ma getestet... der IE 6 merkt's sich (solang das fenster nich geschlossen wurde) NN 6.1 auch... .

                          Kommentar


                          • #14
                            Was merken die sich?
                            Formularinhalte oder JavaScript-Variablen?

                            Würde mich doch arg wundern, wenn ein Flag, dass ich am Anfang des Dokuments mit 0 initialisiere, auf einmal 1 wäre - dann würde er ja gar nicht mehr den Inhalt parsen. Naja, am besten probier ich's einfach ebenfalls aus...

                            Kommentar


                            • #15
                              wieso nicht einfach den letzten beitrag mit dem zu schreibenden vergleichen? wenn beide gleich sind einfach nich schreiben... und wenns n formular ist, einfach das letzte formular in md5() kodieren und abspeichern, dann das neue formular in md5() abgleichen...

                              Kommentar

                              Lädt...
                              X