Forenindex » Archiv » Adobe GoLive » Formular soll nur bei "Absenden" geschickt werden, nicht bei "Enter"

Formular soll nur bei "Absenden" geschickt werden, nicht bei "Enter"

Jürgen
Beiträge gesamt: 252

20. Jan 2004, 09:44
Bewertung:

gelesen: 4126

Beitrag als Lesezeichen
Ich habe ein Formular erstellt. Nun ist es öfter vorgekommen, dass der Besucher während des Ausfüllens versehentlich auf Enter geklickt hat. Das Formular wurde dann sofort gesendet und blieb unvollständig.

Gibt es einen einfachen Trick, um das zu verhindern? Es soll nur gesendet werden, wenn auf den "Sende-Button" geklickt wird.

Formular soll nur bei "Absenden" geschickt werden, nicht bei "Enter"

SabineP
Beiträge gesamt: 7586

20. Jan 2004, 10:25
Bewertung:

gelesen: 4126

Beitrag als Lesezeichen
Hallo Jürgen, wäre es nicht sinnvoll das Formular zu prüfen, ob alle erforderlichen Felder ausgefüllt sind?

Vorteil, Du kannst festlegen welche Felder ausgefüllt werden müssen und
das Formular kann auch noch abgeschickt werden,
wenn im Browser des Besuchers kein Javascript aktiviert ist.

Beispielscript für ein Textfeld:

<script language="javascript" type="text/javascript">

function pruef()
{
if(document.anfrageformular.Email.value == ""){
alert("Geben Sie bitte Ihre E-Mail-Adresse ein!");
document.anfrageformular.Email.focus();
return false;
}
}

</script>

Das Formular:

<form method="POST" action="http://example.com/mail.pl" name="anfrageformular" onSubmit="return pruef()">
<input type="text" name="Email" size="30" value="">
<input type="submit" value="Anfrage Abschicken">
</form>

Gruß Sabine

PS. In Golive gibt´s auch eine Action zur Formularprüfung. Die kannst Du natürlich alternativ verwenden.

(Dieser Beitrag wurde von SabineP am 20. Jan 2004, 10:28 geändert)

Formular soll nur bei "Absenden" geschickt werden, nicht bei "Enter"

Jürgen
Beiträge gesamt: 252

20. Jan 2004, 12:37
Bewertung:

gelesen: 4126

Beitrag als Lesezeichen
Liebe Sabine,

habe vielen Dank für Deine Antwort. Ich weiß, dass man das mit einem Javascript abfragen kann. Das Problem ist nur, dass ich einige Felder habe, wo das Ausfüllen freigestellt ist. Und wenn ich da das Ausfüllen abfrage und jemand hat nichts eingetragen, dann wird das Formular niemals abgeschickt, oder?

Was ich suchte ist ein einfaches Script, welches die Benutzung der "Enter-Taste" ausschaltet/blockiert". Damit wäre mir am ehesten geholfen.

Jürgen

Formular soll nur bei "Absenden" geschickt werden, nicht bei "Enter"

r a c
Beiträge gesamt: 955

20. Jan 2004, 12:43
Bewertung:

gelesen: 4126

Beitrag als Lesezeichen
Nein, es werden nur die Felder geprüft, die geprüft werden :-)

Es ist sogar gut, dass Du nicht alle Felder zu Pflichtfelder machst. Nur die wirklich nötigen sollen geprüft werden. Am Besten auch klar deklarieren, was Pflicht ist und was freiwillig.

Grüsse r a c

(Dieser Beitrag wurde von r a c am 20. Jan 2004, 12:48 geändert)

Formular soll nur bei "Absenden" geschickt werden, nicht bei "Enter"

SabineP
Beiträge gesamt: 7586

20. Jan 2004, 13:12
Bewertung:

gelesen: 4126

Beitrag als Lesezeichen
In dem Beispiel oben wird nur geprüft, ob das Formularfeld mit dem Namen "Email" leer ist.

Bestimmt gibt es Javascripte, die verhindern, daß jemand auf die Enter-Taste drückt.
Es kommt allerdings dann schon das nächste Problem.
Falls jemand das Formular richtig ausgefüllt hat und dieses dann mit der Enter-Taste abschicken möchte
müßte ja ein Hinweis erscheinen wie:

"Diese Funktion haben wir deaktiviert, bitte benutzen Sie die Maus zum Absenden des Formulars".

Und was macht man dann, wenn man an einem Computer ohne Maus sitzt (auch das gibt´s) ?

Gruß Sabine

Formular soll nur bei "Absenden" geschickt werden, nicht bei "Enter"

siber
Beiträge gesamt: 26

20. Jan 2004, 13:18
Bewertung:

gelesen: 4126

Beitrag als Lesezeichen
Hallo Jürgen

Technisch gibt es eine relativ einfache Lösung:
Du erstellst innerhalb des HTML-Codes für das Formular einfach keinen "Submit-Button". Dann wird das Formular auch bei "Enter" nicht abgeschickt. Ausserhalb des HTML-Codes für das Formular erstellst du nun einen einfachen Button, mit dem das betreffende Formular "ferngesteuert" durch ganz wenig Javascript abgeschickt wird.
Probier mal den beigefügten Demo-Code.

Allerdings wäre die von den anderen genannten Lösung mit dem Javascript-Check für die einzelnen Felder vor dem Abschicken wohl tatsächlich zu bevorzugen - mich persönlich nervt es nämlich gewaltig, wenn ich auf Webseiten mit Formularen nicht mit "Enter" abschliessen kann, sondern zuerst zur Maus greifen muss!
Aber das ist halt auch Geschmacksfrage...

Simon

***

<html>
<head>
<title>formtest</title>
</head>

<body>
<h1>Formtest</h1>
<form action='http://www.sbb.ch/' name='testformular'>
<input type='text' name='vorname'> Vorname<br>
<input type='text' name='nachname'> Nachname<br>
</form>

<input type='button' value='Senden' onclick='document.testformular.submit()'>

</body>
</html>

Formular soll nur bei "Absenden" geschickt werden, nicht bei "Enter"

shopprofi.de
Beiträge gesamt: 61

20. Jan 2004, 16:37
Bewertung:

gelesen: 4126

Beitrag als Lesezeichen
Hi,

oder hier:

http://www.drweb.de/...iste/tricks242.shtml

Grüße, Mario
_______________________________________________________
http://www.shopprofi.de >>> Webdesign - Programmierung - Hosting