• Hallo!

    Ich habe ein ganz normales html Formular mit ein paar Dateianhängen. Die Daten werden mittels php in eine Datenbank geschrieben.

    Dabei gibt es folgendes Problem: Der Dateiupload benötigt ein wenig Zeit und in dieser Zeit sollen die Daten kein 2. Mal mehr abgeschickt werden.

    Wie verhindert man am besten, dass der Submit Button mehr als 1x angeklickt werden kann?

    Geht das auch ohne Javascript?

    mfg

  • gute frage - hier vielleicht eine antwort:

    Ich würde es vielleicht so machen:
    einen session_schlüssel erzeugen, und ein hidden-feld im formular damit füllen.
    und diesen schlüssel dann auch in die datenbank schreiben - wenn der schlüssel dann schon in der datenbank vorhanden ist, dann wird das skript gar nicht mehr weiter ausgeführt, und bricht ab - sonst weiter im prcedere.

    Den submit-button sperren geht nur mit java-script (soweit ich weis)

    LG
    gerhard

    NObody is Perfect :ausheck:

  • bist du dir sicher, dass das so geht? Ich bekomme bei folgender Zeile eine Fehlermeldung beim klicken:

    <input type="button" value = "OK" name = "weiter" id = "weiter" onclick="$('weiter').disabled=true;">

    mfg

  • also entweder mit einem submit-button:

    Code
    <input type="submit" value = "OK" name = "submit" onclick="this.disabled=true; return true;">


    oder mit einem <button>

    Code
    <button type="submit"  onClick="this.disabled=true; return true;" >OK</button>
  • Das funktioniert schon ganz nett! Es ist und bleibt halt eine JavaScript Lösung, die nicht ganz so optimal ist, weil es nicht jeder aktiviert hat!

    Wie viel Prozent aller "normalen" Internet User (d.h. keine Informatiker) haben eurer Meinung nach standardmäßig JavaScript aktiviert?

    Ich schätze den Anteil ca. um die 75%.

    Was glaubt Ihr?

    mfg

  • Der Standardnutzer wird JS aktiviert haben. Einige Informatiker auch (z.b. ich).

    Also ich tippe insgesamt auf die 80%.

    Edit: Ich hab mich noch nicht so eingearbeitet ind AJAX, aber mit dem müsste es eigentlich auch gehen, dass man den Button entweder entfernt, oder einfach so ein "Bitte warten, Dateien werden hochgeladen..." Text anzeigt statt dem Button

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!