Avatar billede arminc Nybegynder
31. august 2012 - 13:10 Der er 16 kommentarer og
1 løsning

"oversætte" tal

Jeg har en liste med VVS numre som en række grossister anvender - vi har nogle egne varenumre, der svarer til et eller flere af de numre grossisterne har

jeg vil gerne på min hjemmeside kunne sætte en konverter ind hvor kunden kan taste et vvs nummer ind og så få det vvs nummer det svarer til i vores varekatalog.

Det skal som sagt ligge online - jeg har ikke adgang til nogle databaser men det drejer sig heller ikke om mere end ca 100 numre

Er der nogen der har en løsning?
Avatar billede michael_stim Ekspert
31. august 2012 - 13:18 #1
Du kan lægge numrene i et array, i en fil osv. Der er flere løsninger.
Avatar billede j-j Nybegynder
31. august 2012 - 13:19 #2
Det lyder som en simpel opgave. Men det kræver nok lige du fortælle lidt mere om hvad det er for en side. Her mener jeg om det er hjemmelavet ASP, PHP eller du er ude i noget Wordpress/drupal osv.

Men umiddelbart er det så simpelt, så en enkelt fil med numre i burde være nok til at løse det.
Avatar billede claes57 Ekspert
31. august 2012 - 13:26 #3
med 100 numre, så er javascript rigeligt.
Avatar billede j-j Nybegynder
31. august 2012 - 16:35 #4
Er det noget du vil have hjælp til, eller ville du bare finde den bedste løsning?
Avatar billede arminc Nybegynder
31. august 2012 - 17:16 #5
Noget javascript lyder godt. Jeg tænker noget kode jeg knalder ind i en HTML webpart ( kontrol) og som jeg så kan sætte ind på min side

Hvad er næste skridt så - er der noget kode et eller andet sted jeg kan kopiere eller kræver det mer end det
Avatar billede olsensweb.dk Ekspert
02. september 2012 - 15:07 #6
her er 2 simple løsninger baseret på JavaScript
hvis du i første felt skriver abc skriver den defg i andet felt automatisk

forslag 1 brug af associative array
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title></title>
    <style type="text/css">
    </style>
    <script type="text/javascript">       
        // key:value
        var ar={123:"987",abc:"defg"};       
        function GetEgne_Numre(vvs_nr){       
            document.getElementById("Egne_Numre").value=ar[vvs_nr];
        }           
    </script>
</head>
<body>
<input type="text" name="VVS" onblur="GetEgne_Numre(this.value)" >
<input type="text" name="Egne_Numre" id="Egne_Numre" readonly="readonly">
</body>
</html>


forslag 2 kan søge bægge veje brug af multidim array
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title></title>
    <style type="text/css">
    </style>
    <script type="text/javascript">   
        var arr = Array();
        arr[0]=Array("123","abc","ab");
        arr[1]=Array("789","defg","jeg staver");       
       
        function GetNumre(nr, arr_index){       
            var lng=arr[arr_index].length;           
            var txt="ukendt nummer";
            if(arr_index==0){           
                for(j=0;j<lng;j++){                   
                    if(arr[0][j]===nr){
                        txt=arr[1][j];   
                        break;
                    }
                }
                document.getElementById("Egne_Numre").value=txt
            }
            else{
                for(j=0;j<lng;j++){                   
                    if(arr[1][j]===nr){
                        txt=arr[0][j];   
                        break;
                    }
                }
                document.getElementById("VVS").value=txt;
            }           
        }           
    </script>
</head>
<body>
<input type="text" name="VVS" id="VVS" onblur="GetNumre(this.value, 0)" >
<input type="text" name="Egne_Numre" id="Egne_Numre" onblur="GetNumre(this.value, 1)" >
</body>
</html>

og så fik vi også lige klaret http://www.eksperten.dk/spm/926505 , men man kan da roligt sige det ikke har været en vigtig/haste opgave

>jeg har ikke adgang til nogle databaser
det ville ellers være den rigtige løsning

nb tag lige og følg op på http://www.eksperten.dk/list/aabnespoergsmaal/arminc , det er vist lukke tid.
en del af os gider ikke hjælpe personer der ikke følger op på deres spørgsmål.
Avatar billede arminc Nybegynder
03. september 2012 - 12:28 #7
Tak for de to foreslag, som jeg vil prøve.

Og tak fordi du lige gjorde mig opmærksom på den anden tråd - du har helt ret - det er ikke i orden ikke at følge op

Smider du et svar
Avatar billede arminc Nybegynder
03. september 2012 - 12:35 #8
jeg er indrømmet fuldstændig noob på dette område, men når man så har tastet et nummer ind i et af de to felter, oversætter den så med samme eller skal brugeren gøre noget?
Avatar billede olsensweb.dk Ekspert
03. september 2012 - 13:02 #9
#8
så snart du forlader input feltet oversætter den indholdet (tallet).
eventen onblur kalder functionen der oversætter, når focus (markøren) forlades, fra feltet

demo:
eks 1 http://experten.olsensweb.dk/968259/test_v0.html , kan du kun skrive i første felt
eks 2 http://experten.olsensweb.dk/968259/test_v1.html , kan du skrive i bække felter, hvis du skriver i første felt, oversætter den den ene vej, og hvis du skriver i andet felt oversætter den den anden vej.
Avatar billede arminc Nybegynder
03. september 2012 - 14:57 #10
Super sejt - jeg kan ikke skrive i min header - kan jeg godt smide style og script fra header i body?
Avatar billede olsensweb.dk Ekspert
03. september 2012 - 15:17 #11
>kan jeg godt smide style og script fra header i body?
sagtens, bare læg det lige under body tag'et, da alle style, og functioner skal være læst før de kan bruges, det er bla. derfor man anbefaler det ligges i head
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title></title>   
</head>
<body>
<style type="text/css"></style>
<script type="text/javascript">       
    // key:value
    var ar={123:"987",abc:"defg"};       
    function GetEgne_Numre(vvs_nr){       
        document.getElementById("Egne_Numre").value=ar[vvs_nr];
    }           
</script>
<input type="text" name="VVS" onblur="GetEgne_Numre(this.value)" >
<input type="text" name="Egne_Numre" id="Egne_Numre" readonly="readonly">
</body>
</html>
Avatar billede arminc Nybegynder
03. september 2012 - 15:49 #12
Det kan jeg ikke få til at virke :-( mon ikke det er fordi der sker så mange andre scrpits på siden

http://webshop.falck.com/teknik/slangeskab-VVS-nummer
Avatar billede olsensweb.dk Ekspert
03. september 2012 - 16:09 #13
kiggede lige i kilde coden, syntes der mangler nogle linje skift
<style type="text/css"></style><script type="text/javascript">            // key:value    var ar={123:"987",abc:"defg"};             function GetEgne_Numre(vvs_nr){                document.getElementById("Egne_Numre").value=ar[vvs_nr];    }            </script><input type="text" name="VVS" onblur="GetEgne_Numre(this.value)"><input type="text" name="Egne_Numre" id="Egne_Numre" readonly="readonly">


// udkommenterer resten af linjen i js
fjern dette // key:value
du kan også godt fjerne <style type="text/css"></style>, da det er tomt

nb: der er en bug i IE, hvis man kopierer fra E, alt code i en blå box, hvor der er mulighed for scrool bar i bunden ( [ div] [ pre] her er code[ / pre] [ / div]), fjernes linjeskift ved kopiering :(, kendt fejl
Avatar billede olsensweb.dk Ekspert
03. september 2012 - 16:13 #14
fjern dette // key:value
de 2 / skal også fjernes, E har bare et problem med code.

af sammen årsag er jeg begyndt at kigge merer på http://www.udvikleren.dk/
Avatar billede arminc Nybegynder
05. september 2012 - 10:22 #15
Tusind tak for hjælpen og undskyld jeg ikke lige vendte tilbage i går - jeg ligger lige vandret for tiden :-)

jeg prøver
Avatar billede arminc Nybegynder
05. september 2012 - 13:42 #16
Du er en helt - det virker :-)

Smider du et svar?
Avatar billede olsensweb.dk Ekspert
05. september 2012 - 17:23 #17
>Smider du et svar?
du kan bare accepterer det jeg lagde oppe i #9, første gang du bad mig om det

du vil måske med fordel kunne ligge scriptet ud i en seperat fil, (fordusat du har rettigheder til at ligge js filer op serveren), da brugerene derved kan have casched filen, og du lave nogle kommentare i filen, et er du kan huske hvad coden gør idag, men hvad om 3 måneder ??
alternativt til // som kommentare kan du bruge /* */ der er alt mellem /* og */ kommentare, den er ligeglad med linjeskift
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester