Webformular - default Button ändern

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Warlord
Beiträge: 128
Registriert: 10.03.2005 12:18:18
Wohnort: Norddeutschland

Webformular - default Button ändern

Beitrag von Warlord » 19.01.2009 10:42:18

Hi!

Ich habe ein Webformular, auf dem ich mittels JavaScript Einträge, die in ein Text-Input gemacht wurden, per Button in eine Select-Box hinzufüge.

Wenn man fertig ist, sollen mittels Submit alle Einträge der Select-Box verschickt werden.

Nun zum Problem:

Ich möchte gerne, daß das Drücken von Return/Enter kein Submit ausführt, sondern halt wie ein Klick auf den Add-Button reagiert. Das liegt einfach daran, daß ich so auf dem Ziffernblock mehrere Nummern schnell eintackern kann und am Schluß dann auf Submit klicke. Ebenso sendet ein Barcode-Reader in der Regel ein Return mit - und auch hier möchte ich, daß ich mit dem Reader dann X Barcodes "on-the-fly" einlesen kann.

Weiß jemand, wie ich das hinkriegen kann? Laufen muß das zunächst mit Firefox 3.x.

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: Webformular - default Button ändern

Beitrag von Natureshadow » 22.01.2009 18:11:46

Hallo,

wenn du dem Add-Button eine id gibst, kannst du im onEnter-Event (oder onKeydown mit entsprechender Überprüfung, bin mir gerade nicht sicher ob es onEnter gibt ;)) die gleiche Funktion aufrufen wie beim onClick des Add-Buttons.

Ich bin mir nicht sicher, ob das ein Submit verhindert - da kann man geschickt mit Rückgabewerten von Funktionen hantieren, das müsste ich aber nochmal recherchieren kurz falls es noch Probleme gibt.

Grüße,
Nik

flurischt

Re: Webformular - default Button ändern

Beitrag von flurischt » 22.01.2009 18:39:10

hi

du kannst das "Enter" drücken mit einer "onsubmit" Funktion im <form> Tag abfangen. (Wichtig dabei ist das return)

Code: Alles auswählen

<script type="javascript">
<!--
// variable zum uerberpruefen ob gedrueckt wurde
var buttonGedrueckt=0;
// gibt nur true zurueck, wenn das submit vom button kommt
function submitCheck()
{
 if(buttenGedrueckt==1){
  return true;
 }
 return false; // variable nicht gesetzt also nicht "submitten"
}
//-->
</script>

<!-- Funktion im Formular hinterlegen //-->
<form onsubmit="return submitCheck()">

<!-- Beim submit die Variable setzen (musst du evt. auch in einer Funktion machen)//-->
<input type="submit" onclick="buttonGedrueckt=1" />
</form>
Das Formular wird dann nur abgeschickt, wenn die Funktion true zurück gibt. Und diese gibt nur true zurueck wenn zum Beispiel die Variable buttonGedrueckt auf 1 gesetzt ist.

Die Javascript Syntax wird wahrscheinlich nicht stimmen, vom Aufbau her sollte das aber funktieren.

Antworten