hilfdirselbst.ch
Facebook Twitter gamper-media
Tipps und Tricks zu Adobe GoLive von Dirk Levy, GoLive FAQ's von Randolph Sterna
Jürgen
Beiträge: 252
20. Jan 2004, 09:44
Beitrag #1 von 7
Bewertung:
(1759 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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. Top
 
X
SabineP  M 
Beiträge: 7586
20. Jan 2004, 10:25
Beitrag #2 von 7
Beitrag ID: #66508
Bewertung:
(1759 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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.
als Antwort auf: [#66497]
(Dieser Beitrag wurde von SabineP am 20. Jan 2004, 10:28 geändert)
Top
 
Jürgen
Beiträge: 252
20. Jan 2004, 12:37
Beitrag #3 von 7
Beitrag ID: #66537
Bewertung:
(1759 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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
als Antwort auf: [#66497] Top
 
r a c
Beiträge: 955
20. Jan 2004, 12:43
Beitrag #4 von 7
Beitrag ID: #66540
Bewertung:
(1759 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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
als Antwort auf: [#66497]
(Dieser Beitrag wurde von r a c am 20. Jan 2004, 12:48 geändert)
Top
 
SabineP  M 
Beiträge: 7586
20. Jan 2004, 13:12
Beitrag #5 von 7
Beitrag ID: #66544
Bewertung:
(1759 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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
als Antwort auf: [#66497] Top
 
siber
Beiträge: 26
20. Jan 2004, 13:18
Beitrag #6 von 7
Beitrag ID: #66545
Bewertung:
(1759 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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>
als Antwort auf: [#66497] Top
 
shopprofi.de
Beiträge: 61
20. Jan 2004, 16:37
Beitrag #7 von 7
Beitrag ID: #66592
Bewertung:
(1759 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


Hi,

oder hier:

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

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

als Antwort auf: [#66497] Top
 
X