1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

php

    • Frage
  • tonreg
  • 8. März 2007 um 09:06
  • Unerledigt
  • tonreg
    4
    tonreg
    Mitglied
    Punkte
    170
    Beiträge
    27
    • 8. März 2007 um 09:06
    • #1

    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

  • gerhardk
    3
    gerhardk
    Mitglied
    Punkte
    50
    Beiträge
    7
    • 8. März 2007 um 09:50
    • #2

    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:

  • wobbo
    3
    wobbo
    Mitglied
    Punkte
    75
    Beiträge
    14
    • 13. März 2007 um 21:55
    • #3
    Code
    onclick="$('button_id').disabled=true;"


    in den <input> tag hinzufügen.
    nicht vergessen dem button eine id zu geben.

  • tonreg
    4
    tonreg
    Mitglied
    Punkte
    170
    Beiträge
    27
    • 13. März 2007 um 22:11
    • #4

    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

  • wobbo
    3
    wobbo
    Mitglied
    Punkte
    75
    Beiträge
    14
    • 13. März 2007 um 22:19
    • #5

    probiers mit onclick="document.getElementById('weiter').disabled=true;"

  • tonreg
    4
    tonreg
    Mitglied
    Punkte
    170
    Beiträge
    27
    • 13. März 2007 um 22:28
    • #6

    Der Button wird deaktiviert, nur es passiert danach nichts mehr. Der Submit wird nicht mehr ausgeführt.

    mfg

  • lmeyer
    3
    lmeyer
    Mitglied
    Reaktionen
    1
    Punkte
    56
    Beiträge
    9
    • 15. März 2007 um 14:53
    • #7

    naja, wenn du einen button verwendest musst du per JS auch noch ein submit() schicken (oder du verwendest einen submit-button :grinning_squinting_face: )

  • bimbo
    15
    bimbo
    Mitglied
    Reaktionen
    15
    Punkte
    2.320
    Beiträge
    390
    • 15. März 2007 um 15:34
    • #8

    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>

    LVA Erfahrungsberichte: http://vowi.fsinf.at/

  • tonreg
    4
    tonreg
    Mitglied
    Punkte
    170
    Beiträge
    27
    • 15. März 2007 um 22:33
    • #9

    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

  • Osaic
    1
    Osaic
    Gast
    • 16. März 2007 um 09:59
    • #10

    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

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung