Formularcheck und Absendebutton "sperren"

Eliquas

Grünschnabel
Ich habe ein umfangreiches Formular mit einem Formularcheck versehen. Das funktioniert auch sehr gut.

Nun möchte ich in den formcheck eine Funktion einbauen, die das doppelte Absenden des Formulars ausschließt. Ich denke da an ein "Sperren" des Buttons oder daran, ihn "unsichtbar(disabled)" erscheinen zu lassen.

Da ich ziemlicher Neuling bin, weiß ich nicht, wie ich diese zwei Funktionen kombinieren kann.

Weiß jemand Rat? Bitte für Dummies erklären.

Vielen Dank

Jürgen

Übrigens: Ansehen könnt Ihr das Formular unter: http://www.weiterbildung-bochum.de/weibiber/ausbildg/backre05.html
 
Benutz den onsubmit-Event und rufe damit eine Funktion auf, die den Button einfach Verschwinden lässt. Würde dem Submitbutton ja eine id geben und ihn per document.getElementById('id').type='button' in einen Einfachen button verwandeln.

Beipiel:
HTML:
<form action="" onsubmit="document.getElementById('derButton').type='button'"><div>
  	<input id="derButton" type="submit" />
 </div></form>
Wenn der User das Formular abschickt läd sich ja die Seite meist neu. Nach dem Neuladen ist der Button natürlich nicht mehr gespert. Soll er das allerdings sein, wirst du mit Cookies oder Datenbanken arbeiten müssen und halt noch ne Cookie/Datenbank-Abfrage einbauen müssen
 
Zuletzt bearbeitet:
con-f-use hat gesagt.:
Benutz den onsubmit-Event und rufe damit eine Funktion auf, die den Button einfach Verschwinden lässt. Würde dem Submitbutton ja eine id geben und ihn per document.getElementById('id').type='button' in einen Einfachen button verwandeln.

Beipiel:
HTML:
<form action="" onsubmit="document.getElementById('derButton').type='button'"><div>
  	<input id="derButton" type="submit" />
 </div></form>
Wenn der User das Formular abschickt läd sich ja die Seite meist neu. Nach dem Neuladen ist der Button natürlich nicht mehr gespert. Soll er das allerdings sein, wirst du mit Cookies oder Datenbanken arbeiten müssen und halt noch ne Cookie/Datenbank-Abfrage einbauen müssen
Hallo con-f-use,

Danke für die schnelle Antwort. Aber mir ist die Vorgehensweise noch nicht ganz klar. Der Befehl: "onsubmit" ist bei mir schon durch den "formcheck" belegt. Kann ich zwei funktionen mit "onsubmit" starten? Schau doch mal in meinen Code hinein, dann siehst Du, was ich meine.

Jürgen
 
Hehe, ich glaube, nachdem mein Beitrag nur etwa einen Zentimeter über deinem war, ist das Zitat unnötig (nur so als Hinweis). Aber zu deiner Frage:

Selbstverständlich kann man mit einem Event zwei funktionen aufrufen:
HTML:
onsubmit="document.getElementById('derButton').type='button';return formcheck();"
 
Hallo con-f-use,

habe das sckript überarbeitet, erhalte jetzt aber die Fehlermeldung: Die type-Eigenschaften wurden nicht gefunden, das skript wird nicht bearbeitet".

Weißt Du, wo der Fehler liegt?

Jürgen
 
Ja, du benutzt einen Browser, der das DOM nicht unterstütz. Dann nimm einfach (...).outerHTML = ' ' und der button müsste ganz verschwinden.
 
HTML:
<form name="backstageanmeldung" action="http://send.formmailer.com/" method="post" onsubmit="document.getElementById('derButton').outerHTML = ' ';return formcheck();" target="_self">
Und der Button braucht dann die id="derButton".
Dass das Beipeil vorher nicht funktioniert hatte könnte auch daran liegen, dass der Button keine ID hatte. Hast du das mal geprüft?
 
Hallo con-f-use,

Danke, das hat geklappt, wenigstens im Internet-Explorer. Weißt Du auch, wie man den alten Freund Mozilla und damit auch Firefox, und Netscape "überzeugen" kann, den Button verschwinden zu lassen?

Vorerst einmal vielen Dank für Deine Hilfe und Geduld mit mir JS-Neuling.

Jürgen
 
Ach, entschuldigung, outerHTML gibt es ja nur im IE. JavaScript nervt manchmal ganz schön. Wieso gibt es innerHTML in so ziemlich allen und outerHTML nur in IE und Opera?

Okay, dann müssen wir's ganz anders machen.
HTML:
onsubmit="document.getElementById('derButton').parentNode.removeChild(document.getElementById('derButton');return formcheck()"
 

Neue Beiträge

Zurück