Eventhandler Barcode-Scanner
Jan Carstens
- javascript
Moin,
ich hab' mal ne Frage für die Javascript-Experten.
Zulange habe ich schon nach einer Lösung gesucht und versuche
es jetzt mal auf diesem Weg.
Ich habe ein Input(type=text)-Feld auf einer Seite. Dieses bekommt
automatisch beim Aufruf den Focus.
In dieses Feld wird ein Barcode eingescannt. Im Anschluß an die
Eingabe soll sofort (ohne weiteres Eingreifen des Users) ein neues
Fenster geöffnet werden.
Nun zu meiner Frage:
Gibt es eine Möglichkeit diese Eingabe abzufangen? Soweit ich gesehen
und probiert habe, geben es die normalen Java-Script Eventhandler nicht
her.
Viele Grüße und vielen Dank für Eure Mühe schonmal im Vorraus.
Jan
In dieses Feld wird ein Barcode eingescannt. Im Anschluß an die
Eingabe soll sofort (ohne weiteres Eingreifen des Users) ein neues
Fenster geöffnet werden.
hier fehlen alle wichtige Informationen. Was heißt, in das Feld wird ein Barcode eingescannt? Mir ist nicht bekannt, dass eine HTML Seite irgendwas scannen kann und schon gar kein Formularfeld, d.h. du musst auf deiner Seite irgendwas haben, was irgendwas macht.
Struppi.
hier fehlen alle wichtige Informationen. Was heißt, in das Feld wird ein Barcode eingescannt? Mir ist nicht bekannt, dass eine HTML Seite irgendwas scannen kann und schon gar kein Formularfeld, d.h. du musst auf deiner Seite irgendwas haben, was irgendwas macht.
Struppi.
Das muss nicht unbedingt sein.
Der Scanner ist nichts anderes als ein Eingabegerät.
Er legt den Fokus auf sein Imputfeld und wenn der Scanner etwas erfasst, wird das automatisch eingetragen. Wie wenn er die Tastatur dazu benutzt hätte. Da ist normalerweiße nichts weiter notwendig.
Gruß
Hi,
Das muss nicht unbedingt sein.
Der Scanner ist nichts anderes als ein Eingabegerät.
Er legt den Fokus auf sein Imputfeld und wenn der Scanner etwas erfasst, wird das automatisch eingetragen. Wie wenn er die Tastatur dazu benutzt hätte. Da ist normalerweiße nichts weiter notwendig.
Wie kommuniziert denn ein lokal an einen Rechner angeschlossenes Gerät mit einer HTML Seite bzw. mit dessen Input field?
Das geht doch nur über ActiveX oder Java.
Feuere das Event doch einfach, sobald das Feld beschrieben wird.
Irgendwo muss doch stehen:
inputfield.value = text;
Gruß!
hier fehlen alle wichtige Informationen. Was heißt, in das Feld wird ein Barcode eingescannt? Mir ist nicht bekannt, dass eine HTML Seite irgendwas scannen kann und schon gar kein Formularfeld, d.h. du musst auf deiner Seite irgendwas haben, was irgendwas macht.
Struppi.
Bitte nicht alles zitieren, nur das worauf du antworten möchtest, Danke.
Das muss nicht unbedingt sein.
Der Scanner ist nichts anderes als ein Eingabegerät.
Ja schön, aber es gibt kein HTML Element <scanner> oder?
Er legt den Fokus auf sein Imputfeld und wenn der Scanner etwas erfasst, wird das automatisch eingetragen. Wie wenn er die Tastatur dazu benutzt hätte. Da ist normalerweiße nichts weiter notwendig.
Dann nutzt du offensichtlich irgendein Tool, das wir natürlich nicht kennen, dass du aber auch nicht preisgeben möchtest, dessen Funktionsweise du entweder nicht verstehst oder wir nicht Wissen dürfen.
So können wir dir leider nicht helfen.
Struppi.
Hi Struppi,
Ja schön, aber es gibt kein HTML Element <scanner> oder?
Es gibt auch kein HTML Element <tastatur> - trotzdem kannst du mit deiner Tastatur in alle dafür vorgesehen Eingabefelder Werte eingeben. Ein Barcode-Scanner ist kaum etwas anderes. So wie ich das verstanden habe (und wenn ich mich recht an mein Praktikum erinnere, wo ich mal mit so einem Teil gearbeitet habe), simuliert der Barcode-Scanner einfach nur den gescannten Barcode als Tastatureingabe.
Und damit, Jan, gibt es auch keine Möglichkeit die Eingabe des Barcode-Scanners von einer normalen Tastatureingabe zu unterscheiden. Verwende also OnKeyUp etc. und prüfe ob die Eingabe bereits vollständig erfolgt ist (haben Barcodes immer eine fixe Länge?). Bei vollständig erfolgter Eingabe kannst du dein Formular dann abschicken und weiterverarbeiten.
Viele Grüße,
~ Dennis.
Ja schön, aber es gibt kein HTML Element <scanner> oder?
Es gibt auch kein HTML Element <tastatur> - trotzdem kannst du mit deiner Tastatur in alle dafür vorgesehen Eingabefelder Werte eingeben. Ein Barcode-Scanner ist kaum etwas anderes.
Ich weiß nichjt ob hier lauter Barcodescanner Experten sind, ich hab keine Ahnung wie ein Scanner mit einer Internetseite kommuniziert, keines meiner Geräte kann das, also wenn hier jemand wirklich Hilfe haben will sollte er erklären wie das genau läuft.
So wie ich das verstanden habe (und wenn ich mich recht an mein Praktikum erinnere, wo ich mal mit so einem Teil gearbeitet habe), simuliert der Barcode-Scanner einfach nur den gescannten Barcode als Tastatureingabe.
Woher soll das jemand Wissen, der nicht zufällig ein Praktikum in einer Firma mit einer solchen Software gemacht hat?
Allein schon Barcode - das suggeriert bei mir einen Schwarz-weissen Strichcode, dieser Code entspricht dem Zahlen-/Buchstaben Code der darunter steht? Wenn ja, muss man das erstmal Wissen.
Die nächste Frage ist, wie kommuniziert der Scanner mit einer HTML Seite?
Ohne dieses Wissen können wir natürlich weiterhin lustige Ratespiele machen.
Struppi.
Hi Struppi,
Woher soll das jemand Wissen, der nicht zufällig ein Praktikum in einer Firma mit einer solchen Software gemacht hat?
Hehe, das hätte der OP sicherlich dazusagen können - stimmt. Übrigens sagt aber auch Wikipedia zu Barcodelesegeräten:
„Eine häufige Verwendung ist das Einschleifen in die Tastaturanschlussleitung
des Computers meist mittels Zwischenstecker (Tastatur/Wedge-Emulation). Das hat
den Vorteil, dass keinerlei Software-Anpassungen notwendig sind, da der Computer
gar nicht erkennt, ob es sich um eine manuelle oder um eine eingelesene Dateneingabe
handelt. Zu beachten sind lediglich Keyboardnationalität und verwendetes
Betriebssystem.”
So ein Scanner simuliert also wirklich nur (wie auch Patrick schon sagte) eine Tastatureingabe.
Allein schon Barcode - das suggeriert bei mir einen Schwarz-weissen Strichcode, dieser Code entspricht dem Zahlen-/Buchstaben Code der darunter steht? Wenn ja, muss man das erstmal Wissen.
Nun ja, mit Strichen kann ein Computer wohl kaum was anfangen. Zahlen sind da schon wesentlich praktikabler - wie so ein Strichcode funktioniert, erläutert übrigens auch wieder Wikipedia. ;-)
Viele Grüße,
~ Dennis.
Woher soll das jemand Wissen, der nicht zufällig ein Praktikum in einer Firma mit einer solchen Software gemacht hat?
Hehe, das hätte der OP sicherlich dazusagen können - stimmt. Übrigens sagt aber auch Wikipedia zu Barcodelesegeräten:
Danke sehr interessant.
Ist aber schon nervig, zwei sehr lange wikipedia Artikel lesen zu müssen, damit man versteht worauf der OP hinaus will. Wobei es letztlich nur um Probleme mit Keyboard Events geht.
Struppi.
Hi Jan,
du kannst den Scanner normalerweise so einstellen, dass er noch eine "Zusatzfunktion" nach dem Scannen und schreiben erledigt.
Also Scannen->Eintragen->und neu: Return oder ähnliches.
Diese Funktion kannst du ja via JS abfangen und die Daten aus deinem Feld weiterverarbeiten.
@all: der Scanner sendet nur eine Tastenfolge an den Rechner, wie eine Tastatur! Was dann passiert -> egal!
Grüße
Patrick
@all: der Scanner sendet nur eine Tastenfolge an den Rechner, wie eine Tastatur! Was dann passiert -> egal!
Es scheinen wirklich viele ein Praktikum in der Firma gemacht zu haben ;-)
Dann existieren die Events onkeydown oder onkeyup oder onclick, da kann sich der OP dann einen aussuchen. wobei mich dann diese Aussage wundert:
Soweit ich gesehen und probiert habe, geben es die normalen Java-Script Eventhandler nicht her.
Struppi.
Hellihello
will heißen: Scanner hängt mit Kabel am Rechner, Editor ist geöffnet, führe Scanner über Barcode an CD, im Editor erscheint der Code in Ziffernform?
Dank und Gruß,
will heißen: Scanner hängt mit Kabel am Rechner, Editor ist geöffnet, führe Scanner über Barcode an CD, im Editor erscheint der Code in Ziffernform?
Yep! Genauso funktioniert das.
Was dann damit (mit dem geschriebenen) gemacht wird, ist unabhängig davon, dass es ein Scanner eingegeben hat. Man hätte genauso gut per Tastatur in den Editor schreiben können.
Gruß
Hellihello
Yep! Genauso funktioniert das.
Und gibt es beim Kauf etwas zu beachten? Bzw. gibt es die schon in ganz schlichter Ausstattung oder ist das immer noch 400 Aufwärts? Und tragbar auch?
Dank und Gruß,
Und gibt es beim Kauf etwas zu beachten? Bzw. gibt es die schon in ganz schlichter Ausstattung oder ist das immer noch 400 Aufwärts? Und tragbar auch?
Bzgl. den Kosten kann ich dir leider keine Auskunft geben, da ich in dieser Hinsicht selber nicht informiert bin.
Eine Suche z.b. bei Google sollte da weiterhelfen.
Aber tragbar(W-Lan) gibt es die durchaus auch zu kaufen.
Gruß
Hallo.
Und gibt es beim Kauf etwas zu beachten?
Lediglich ungefähr so viel wie bei Autos.
Bzw. gibt es die schon in ganz schlichter Ausstattung oder ist das immer noch 400 Aufwärts? Und tragbar auch?
Die Frage ist, wofür die die Geräte benötigst -- und nein, "zum scannen von Barcodes" ist keine hilfreiche Antwort auf diese Frage.
Neben den stationären Geräten, die weder tragbar, noch für kleines Geld zu haben sind, gibt es durchaus tragbare Geräte, und zwar im Wesentlichen folgende Klassen:
Hi,
da das ganze in einem Formular/Input-Feld abläuft, sollte doch eigentlich irgendwo ein "change"-Handler (> onchange) existieren.
Nebenbei finde den ganzen Thread mal ganz interessant, wie das so funktioniert mit dem Scanner.
gruß
peter
da das ganze in einem Formular/Input-Feld abläuft, sollte doch eigentlich irgendwo ein "change"-Handler (> onchange) existieren.
Tja, der OP hat sich wohl aus dem Thrad ausgeklingt. onchnage dürfte aber nicht klappen, da dieser erst beim verlassen des Feldes feuert, weiter kommen müsste er eher mit den schon hier erwähnten onkeydown bzw. onkeyup
Nebenbei finde den ganzen Thread mal ganz interessant, wie das so funktioniert mit dem Scanner.
Ich ebenfalls. Da es ja nicht unbedingt üblich ist das jeder damit zu tun hat, wie es der OP offensichtlich dachte, mir war das alles neu.
Struppi.