Enter unterdrücken
Marcus
- javascript
-3 Plutonium0 Marcus
0 Ingo Turski0 Der Martin0 Hans0 Marian
Hallo,
ich hoffe mir kann bei meinen Problem schnell jemand helfen!
Also...
.... Ich hab ein HTML was folgender maßen aussieht
</head>
....
</head>
<body>
....
<form method="POST" action="http://xxx.de/cgi-bin/xxxx/xxxxxx.pl">
....
<input type="hidden" name="Menge" value="">
<input type="hidden" name="ArtikelNbr" value="Artikelbezeichnung">
.... hier kommen noch rein: Artikel Preis, Hersteller etc.
.... dann kommt der Bestell Button.
<input style="width: 125px; Background-Color: #FFE339;" type="submit" name="ORDER" value="sofort bestellen">
</body>
...wenn der Kunden ein Enter nach der Eingabe der Bestellmenge macht
dannn wird das Formular automatisch abgeschickt.
Das soll aber nicht passieren da bei mehreren Artikellinien die Menge eingebe werden soll und der Kunde zum schluss auf bestellen klicken sollte.
Kann ich das Enter irgendwie in den Eingabefeldern unterdrücken bzw.
im ganzen Form unterdrücken und nur das Formular abschicken wenn der
Kunde auf Enter drückt?
Ich hoffe mir kann jemand dabei helfen.
Finde leider nix bei Google und auf der Seite. ;(
gruß Marcus
Das hier beispiel von Selfi,
Kannst auch hier bei selfi in "Suchen" (eingabe felder) eingeben und dir die beispiele anschauen.
<title>Eingabefelder und Eingabebereiche auf "nur lesen" setzen</title>
</head>
<body>
<h1>Kein Rabatt und keine Gnade</h1>
<form action="input_text_value.htm">
<p>Preis:<br><input name="preis" type="text" size="8" value="€ 699.-" readonly></p>
<p>Lizenzvereinbarung:<br>
<textarea name="lizenz" cols="50" rows="10" readonly>Mit dem Absenden ...</textarea>
</p>
</form>
Das ist schon net schlecht aber die Leute sollen ja die Menge Manuell eingeben können also soll das Feld schon editierbar sein :)
Hi,
...wenn der Kunden ein Enter nach der Eingabe der Bestellmenge macht
dannn wird das Formular automatisch abgeschickt.
Das werden die meisten zumindest ein wenig versierten Kunden auch genauso erwarten!
Das soll aber nicht passieren da bei mehreren Artikellinien die Menge eingebe werden soll und der Kunde zum schluss auf bestellen klicken sollte.
Dann gebe dem Kunden einen Hinweis darauf - ggfls. auch auf der Bestätigungsseite die Möglichkeit, weitere Daten einzugeben.
Kann ich das Enter irgendwie in den Eingabefeldern unterdrücken bzw.
im ganzen Form unterdrücken und nur das Formular abschicken wenn der
Kunde auf Enter drückt?
Du kannst es über Javascript zumindest versuchen - und den Kunden, die lieber Tastatursteuerung nutzen, damit das Absenden unmöglich machen.
freundliche Grüße
Ingo
Hallo Marcus,
...wenn der Kunden ein Enter nach der Eingabe der Bestellmenge macht dannn wird das Formular automatisch abgeschickt.
... was ja auch völlig normal und richtig ist. Es würde mich als Anwender sehr irritieren, um nicht zu sagen stören, wenn das nicht so wäre.
Das soll aber nicht passieren da bei mehreren Artikellinien die Menge eingebe werden soll und der Kunde zum schluss auf bestellen klicken sollte.
Dann prüfe doch in dem Script, das das Formular verarbeitet, ob alle nötigen Felder ausgefüllt sind. Falls nein, lass den Anwender in einem Zwischenschritt entscheiden, ob die Eingaben so tatsächlich korrekt und vollständig sind. Entscheidet er sich hier für "Nein", gehe zurück zum Bestellformular und lass den armen Knilch weiter eingeben.
Kann ich das Enter irgendwie in den Eingabefeldern unterdrücken bzw. im ganzen Form unterdrücken ...
Nein, nicht zuverlässig.
und nur das Formular abschicken wenn der Kunde auf Enter drückt?
Ich dachte, genau das wolltest du nicht?
So long,
Martin
Hi Marcus,
<FORM ACTION="http://irgendwo/hin" METHOD="POST" onSubmit="return my_check()">
blabla
<INPUT TYPE=SUBMIT VALUE="Absenden">
</FORM>
<SCRIPT>
function my_check() {
if (document.forms[0].mengenangabe.value==0) {
alert("Bitte die Menge angeben !");
return false;
}
return true;
}
</SCRIPT>
Sobald der User "ENTER" drueckt, wird die Funktion my_check aufgerufen und ueberprueft, ob eine Mengenangabe gemacht wurde (Menge > 0). Ist dies nicht der Fall, kommt ein alert und der returncode ist "false", was bedeutet, daß die Action nicht ausgefuehrt wird. Ist die Menge <> 0, dann ist der Returncode "true", also gruenes Licht fuer den Post.
Gruß
Hans
Hallo Hans,
<SCRIPT>
Da fehlt das type-Attribut. Und warum schreibst du alle Tags groß?
Sobald der User "ENTER" drueckt, wird die Funktion my_check aufgerufen und ueberprueft, ob eine Mengenangabe gemacht wurde (Menge > 0). Ist dies nicht der Fall, kommt ein alert und der returncode ist "false", was bedeutet, daß die Action nicht ausgefuehrt wird. Ist die Menge <> 0, dann ist der Returncode "true", also gruenes Licht fuer den Post.
Es gibt nur einen Haken dabei: Wenn jemand JavaScript deaktiviert hat, funktioniert das alles nicht. Das heißt, du kommst um eine serverseitige Überprüfung nicht herum.
Viele Grüße aus Freiburg,
Marian