|
| Overfør data fra <input> til <t Fra : Henning Wangerin |
Dato : 21-11-07 15:19 |
|
Hejsa!
Jeg sidder og hekser med en side hvor jeg skal registrere stregkoder.
Pt har jeg et <textarea> som jeg scanner ind koderne ind i.
Af forskellige årsager vil jeg gerne ændre det så jeg har muligheden for
at scanne i et <input type='text'>, som så skal ...
1) checke hver enkelt koder for fejl i koderne og overføre korrekt
værdier til <textarea> feltet. Samtidig har jeg brug for et par tællere
af antallet af koder der er skannet ind.
2) checke om den indtastede kode er et antal special-koder med specielle
funktioner. En af den er en "SUBMIT-KODE" som jeg kan scanne, og sende
koderne til serveren med en normal submit.
Hvordan gør jeg det?
PFT
/Henning
| |
Mr J.. (22-11-2007)
| Kommentar Fra : Mr J.. |
Dato : 22-11-07 08:33 |
|
> Hvordan gør jeg det?
Nu har Biger jo lige åbnet mine øjne for AJAX, og det ville være perfekt til
det du ønsker dig der !!
Jeg sidder og bliver helt høj over at kode pt, med alt det gejl man kan få
AJAX til, jeg bruger det med php...
Mvh
Morten
| |
Henning Wangerin (22-11-2007)
| Kommentar Fra : Henning Wangerin |
Dato : 22-11-07 11:09 |
|
Mr J.. skrev:
>> Hvordan gør jeg det?
>
> Nu har Biger jo lige åbnet mine øjne for AJAX, og det ville være perfekt til
> det du ønsker dig der !!
OK, hvilket library skal jeg så bruge for at få det til at køre på
klienten. Det er derfor jeg spørger her.
> Jeg sidder og bliver helt høj over at kode pt, med alt det gejl man kan få
> AJAX til, jeg bruger det med php...
Jeg har kigget på TinyAjax, men da afvikles funktionerne (som php-ting)
på serveren, og det er alt for langsomt til mit brug.
| |
Mr J.. (22-11-2007)
| Kommentar Fra : Mr J.. |
Dato : 22-11-07 11:47 |
|
>> Jeg sidder og bliver helt høj over at kode pt, med alt det gejl man kan
>> få AJAX til, jeg bruger det med php...
>
> Jeg har kigget på TinyAjax, men da afvikles funktionerne (som php-ting) på
> serveren, og det er alt for langsomt til mit brug.
Langsomt?!?! Jeg kører en database igennem med 600entries, og får feedback
det sekundt jeg har sluppet tasten..
Mvh
Morten
| |
Henning Wangerin (22-11-2007)
| Kommentar Fra : Henning Wangerin |
Dato : 22-11-07 12:07 |
|
Mr J.. skrev:
>>> Jeg sidder og bliver helt høj over at kode pt, med alt det gejl man kan
>>> få AJAX til, jeg bruger det med php...
>> Jeg har kigget på TinyAjax, men da afvikles funktionerne (som php-ting) på
>> serveren, og det er alt for langsomt til mit brug.
>
> Langsomt?!?! Jeg kører en database igennem med 600entries, og får feedback
> det sekundt jeg har sluppet tasten..
Jeg har en responsetid via php på knap et sekund.
Fint nok når der manuelt tastes data manuelt ind, men står man med en
stregkodescanner, og skal skanne 10-20 koder i streg er det brug for
øjeblikkelig response.
| |
Mr J.. (22-11-2007)
| Kommentar Fra : Mr J.. |
Dato : 22-11-07 12:41 |
|
> Jeg har en responsetid via php på knap et sekund.
Via AJAX???
Mvh
Morten
| |
Henning Wangerin (22-11-2007)
| Kommentar Fra : Henning Wangerin |
Dato : 22-11-07 13:23 |
|
Mr J.. skrev:
>> Jeg har en responsetid via php på knap et sekund.
>
> Via AJAX???
Ja med TinyAjax. Den kobler eventen sammen med en php-function på
serveren, og den opkobling er simpelthen for langsom til mit brug.
Jeg har tidligere haft et system kørende hvor data blev overført via en
helt normal form, men den har jo af gode grunde det samme
hastigheds-problem.
| |
Mr J.. (22-11-2007)
| Kommentar Fra : Mr J.. |
Dato : 22-11-07 13:46 |
|
>> Via AJAX???
>
> Ja med TinyAjax. Den kobler eventen sammen med en php-function på
> serveren, og den opkobling er simpelthen for langsom til mit brug.
Så prøv AJAX og ikke php's TinyAJAX.. jeg har intet lag, og kan ikke se et
problem med at gøre det du vil, med AJAX.. har ikke prøvet TinyAJAX..
Mvh
Morten
| |
Henning Wangerin (22-11-2007)
| Kommentar Fra : Henning Wangerin |
Dato : 22-11-07 14:03 |
|
Mr J.. skrev:
>>> Via AJAX???
>> Ja med TinyAjax. Den kobler eventen sammen med en php-function på
>> serveren, og den opkobling er simpelthen for langsom til mit brug.
>
> Så prøv AJAX og ikke php's TinyAJAX.. jeg har intet lag, og kan ikke se et
> problem med at gøre det du vil, med AJAX.. har ikke prøvet TinyAJAX..
>
Hele ajax-overheadet er for så vidst irellevant for mig.
Det eneste jeg har brug for at jeg kan scanne værdier ind i en normal
edit-control, og putte værdien ind i slutningen af en >textarea>
Så snart der kommer noget server-client ind i billedet bliver det
aaaaalt for langsomt til mit brug.
For at have noget margin, skal jeg gerne kunn håndtere 3 scanninger i
sekundet. Når koderne er gode kan vi let komme op på 2 skanninger i
sekundet, og det dur ikke at koderne ikke bliver håndteret hurtigt nok.
| |
Mr J.. (22-11-2007)
| Kommentar Fra : Mr J.. |
Dato : 22-11-07 14:08 |
|
> Det eneste jeg har brug for at jeg kan scanne værdier ind i en normal
> edit-control, og putte værdien ind i slutningen af en >textarea>
>
> Så snart der kommer noget server-client ind i billedet bliver det aaaaalt
> for langsomt til mit brug.
>
> For at have noget margin, skal jeg gerne kunn håndtere 3 scanninger i
> sekundet. Når koderne er gode kan vi let komme op på 2 skanninger i
> sekundet, og det dur ikke at koderne ikke bliver håndteret hurtigt nok.
Måske du skulle overveje at programmere noget i c++ eller vb, så du kommer
udenom noget browser... ville jeg nok gøre tror jeg, du kan jo stadig ligge
info ned i en db senere..
Mvh
Morten
| |
Henning Wangerin (22-11-2007)
| Kommentar Fra : Henning Wangerin |
Dato : 22-11-07 14:12 |
|
Mr J.. skrev:
>
> Måske du skulle overveje at programmere noget i c++ eller vb, så du kommer
> udenom noget browser...
Det er desværre ikke umiddelbart en option, da programmet kører på
indtil flere forskellige platforme, og web-interfacet netop er valgt for
at sikre at alle med en simpel browser kan bruge det.
> ville jeg nok gøre tror jeg, du kan jo stadig ligge
> info ned i en db senere..
Det er lige netop det jeg allerede gør.
| |
Martin Højriis Krist~ (24-11-2007)
| Kommentar Fra : Martin Højriis Krist~ |
Dato : 24-11-07 11:27 |
|
"Mr J.." <Nomail@nomail.dk> skrev i en meddelelse
news:47457f2e$0$90275$14726298@news.sunsite.dk...
> Måske du skulle overveje at programmere noget i c++ eller vb, så du kommer
> udenom noget browser... ville jeg nok gøre tror jeg, du kan jo stadig
> ligge info ned i en db senere..
Det er da fuldstændig overkill når det kan laves simpelt i ren javascript.
Jeg forstår ikke ideen med at blande server-side ind i denne opgave,
tilstandsmaskinen er jo ikke afhængig af andre data end der er tilgængelige
lokalt.
--
Martin Højriis Kristensen
http://www.martinshjemmeside.dk/ - Lidt af hvert
http://www.mestomaarhus.dk/ - Mest om Århus
| |
Ukendt (24-11-2007)
| Kommentar Fra : Ukendt |
Dato : 24-11-07 11:35 |
|
> Det er da fuldstændig overkill når det kan laves simpelt i ren javascript.
> Jeg forstår ikke ideen med at blande server-side ind i denne opgave,
> tilstandsmaskinen er jo ikke afhængig af andre data end der er
> tilgængelige lokalt.
Hvis tingene skal valideres, og checkes for type af stregkode? jeg ville
klart lave det serverside..
Mvh
Morten
| |
Martin Højriis Krist~ (24-11-2007)
| Kommentar Fra : Martin Højriis Krist~ |
Dato : 24-11-07 11:45 |
|
"Morten Juel" <xSnAbElAstarchild.dk> skrev i en meddelelse
news:4747fe68$0$90269$14726298@news.sunsite.dk...
> Hvis tingene skal valideres, og checkes for type af stregkode? jeg ville
> klart lave det serverside..
Hvorfor det? Hvis det er et internt system hvor mængden af browsere er
begrænset, så ser jeg ingen fordele ved serverside. Det forudsætter dog at
algoritmen er rimelig overkommelig, men hvis det er en af EAN-varianterne,
så er det til at have med at gøre.
--
Martin Højriis Kristensen
http://www.martinshjemmeside.dk/ - Lidt af hvert
http://www.mestomaarhus.dk/ - Mest om Århus
| |
Henning Wangerin (29-11-2007)
| Kommentar Fra : Henning Wangerin |
Dato : 29-11-07 08:29 |
|
Martin Højriis Kristensen skrev:
> "Morten Juel" <xSnAbElAstarchild.dk> skrev i en meddelelse
> news:4747fe68$0$90269$14726298@news.sunsite.dk...
>> Hvis tingene skal valideres, og checkes for type af stregkode? jeg ville
>> klart lave det serverside..
>
> Hvorfor det? Hvis det er et internt system hvor mængden af browsere er
> begrænset, så ser jeg ingen fordele ved serverside. Det forudsætter dog at
> algoritmen er rimelig overkommelig, men hvis det er en af EAN-varianterne,
> så er det til at have med at gøre.
Lige netop.
I princippet er der tale om at jeg skal skelne om koder er et gyldigt
serie-nummer (rent tal med fast antal cifre) eller et karton-kode (EN
kode med blandede tal/bogastaver)
Og det er til en intranet-site, så jeg bestemmer hvad det skal køre på.
/Henning
| |
Martin (22-11-2007)
| Kommentar Fra : Martin |
Dato : 22-11-07 15:50 |
|
Henning Wangerin wrote:
> Hejsa!
>
> Jeg sidder og hekser med en side hvor jeg skal registrere stregkoder.
>
> Pt har jeg et <textarea> som jeg scanner ind koderne ind i.
>
> Af forskellige årsager vil jeg gerne ændre det så jeg har muligheden for
> at scanne i et <input type='text'>, som så skal ...
>
> 1) checke hver enkelt koder for fejl i koderne og overføre korrekt
> værdier til <textarea> feltet. Samtidig har jeg brug for et par tællere
> af antallet af koder der er skannet ind.
>
> 2) checke om den indtastede kode er et antal special-koder med specielle
> funktioner. En af den er en "SUBMIT-KODE" som jeg kan scanne, og sende
> koderne til serveren med en normal submit.
>
> Hvordan gør jeg det?
Sådan her kunne det se ud...
Bruger ajax (prototype) til at sende resultaterne til en data.php side
som kan være indsamleren - data.php kunne fx. se således ud
<?php
$datafil = 'data.dat';
file_put_contents($datafil,$_GET['value'],FILE_APPEND);
?>
Nu smider din data.php bare teksten ned i en data fil, og det er det :)
Din HTML fil kunne se således ud:
<div id="alerter"></div>
<input onchange="doCopy();" type="text" id="tekstfelt" />
<textarea id="textareal"></textarea>
<!--
Da jeg er doven kræver det også lige at du smider prototype ind
Kan hentes på www.prototypejs.org
-->
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
var from = $('tekstfelt');
var to = $('tekstareal');
var alerter = $('alerter');
var serverfile = 'data.php';
function doCopy() {
to.setValue(checkCode(from.getValue()));
sendCodeToServer(to.getValue());
}
function checkCode(txt) {
// Check koden her...
if(txt == 'Hej')
return txt;
else
return 'Ikke hej men '+txt;
}
function sendCodeToServer(txt) {
new Ajax.Request(serverfile, {
method: get,
parameters: { value: txt },
onLoading: function() {
alerter.innerHTML = 'Koden opdateres til serverside';
},
onSuccess: function() {
to.clear();
from.clear();
alerter.innerHTML = 'Koden er nu opdateret';
}
}
}
</script>
>
> PFT
>
> /Henning
| |
Martin (22-11-2007)
| Kommentar Fra : Martin |
Dato : 22-11-07 15:52 |
|
Martin wrote:
> function sendCodeToServer(txt) {
> new Ajax.Request(serverfile, {
> method: get,
> parameters: { value: txt },
> onLoading: function() {
> alerter.innerHTML = 'Koden opdateres til serverside';
> },
> onSuccess: function() {
> to.clear();
> from.clear();
> alerter.innerHTML = 'Koden er nu opdateret';
> }
> }
> }
> </script>
Mangler lige et par } og ) :D
function sendCodeToServer(txt) {
new Ajax.Request(serverfile, {
method: get,
parameters: { value: txt },
onLoading: function() {
alerter.innerHTML = 'Koden opdateres til serverside';
},
onSuccess: function() {
to.clear();
from.clear();
alerter.innerHTML = 'Koden er nu opdateret';
}
});
}
</script>
| |
Stig Johansen (23-11-2007)
| Kommentar Fra : Stig Johansen |
Dato : 23-11-07 06:53 |
|
Hej Henning.
Du jar fået en del ledetråde, men du får lige noget konceptuelt input.
Hvis jeg forstår dig rigtigt, er du ude efter en slags batch data entry
baseret på stregkoder aflæst vi en 'dims', der emulerer keyboard.
Når jeg skriver konceptuelt, er det fordi, det ikke er os, der skal lave dit
arbejde.
Henning Wangerin wrote:
> Hejsa!
>
> Jeg sidder og hekser med en side hvor jeg skal registrere stregkoder.
>
> Pt har jeg et <textarea> som jeg scanner ind koderne ind i.
>
> Af forskellige årsager vil jeg gerne ændre det så jeg har muligheden for
> at scanne i et <input type='text'>, som så skal ...
Ok, got that, er der, eller kan der konfigureres specifikke
afslutningssekvenser på din scanner? Hvis ja, så find en sekvens, der kan
trigge et event.
> 1) checke hver enkelt koder for fejl i koderne
Javascript - jeg går ud fra der er en eller anden form for checkciffer eller
lign, lidt analogt med EAN.
Hvis der ikke er tale om prævalidering, med serverside validering, er der
ingen vej uden om at kalde serveren pr. transaktion.
> og overføre korrekt
> værdier til <textarea> feltet.
Jeg kunne forestille mig at der er readonly jfr ovenstående. Jeg ville nok
vælge en <div>, her kan man tilføre lidt mere 'sex'.
> Samtidig har jeg brug for et par tællere
> af antallet af koder der er skannet ind.
Javascript tællere, du nulstiller ved passende events.
> 2) checke om den indtastede kode er et antal special-koder med specielle
> funktioner.
Javascript, fang enter taster og tjek indholdet som under 1)
> En af den er en "SUBMIT-KODE" som jeg kan scanne,
Javascript, tjek indholdet som under 1)
> og sende
> koderne til serveren med en normal submit.
= AJAX.
>
> Hvordan gør jeg det?
Samler skidtet sammen som ovenfor, pakker din <textarea> eller <div> ind i
datadelen ved 'send'.
Afhængig af retursvaret kan du påbegynde ny batch, vise fejl eller gå til
godkendelse af batch'en.
--
Med venlig hilsen
Stig Johansen
| |
Martin Højriis Krist~ (24-11-2007)
| Kommentar Fra : Martin Højriis Krist~ |
Dato : 24-11-07 11:25 |
|
"Henning Wangerin" <nobody@nowhere.invalid> skrev i en meddelelse
news:47443e60$0$90265$14726298@news.sunsite.dk...
> 1) checke hver enkelt koder for fejl i koderne og overføre korrekt værdier
> til <textarea> feltet. Samtidig har jeg brug for et par tællere af
> antallet af koder der er skannet ind.
Hvor kompleks er tjekket for fejl i koderne?
Hvis det er simpelt så ville jeg lave det hele i javascript og ikke blande
noget serverside ind i det.
> 2) checke om den indtastede kode er et antal special-koder med specielle
> funktioner. En af den er en "SUBMIT-KODE" som jeg kan scanne, og sende
> koderne til serveren med en normal submit.
Kan også simpelt laves i ren client-side.
Et super simpelt start-eksempel findes her:
http://www.deimos.dk/temp/form.html
--
Martin Højriis Kristensen
http://www.martinshjemmeside.dk/ - Lidt af hvert
http://www.mestomaarhus.dk/ - Mest om Århus
| |
|
|