Avatar billede mila Nybegynder
27. marts 2001 - 10:49 Der er 10 kommentarer og
1 løsning

Javascript og selectbox?

Hej Alle,

Jeg er intresseret i et script der muligører følgende:

I to input felter er det muligt at indtaste hhv. value og text til et punkt i en select box. Du kan tilføje det du har skrevet i de to felter til selectboxen og fjerne punkter i den vha. to knapper.
Dette har jeg fået til at virke!

Det jeg ønsker er at samle alle værdier fra select boksen i to strenge (en der indeholder text og en der indeholder value) hvor værdierne er adskildt af enter (13) Altså:

value1 CR
value2 CR
value3 CR

og

text1 CR
text2 CR
text3 CR

Alternativt oprette hidden types der hindeholder værdierne.

Antallet af <option>s i selectboksen varierer altså.

Alt dette skal ske ved submit.

Håber at det er til at forstå?
Avatar billede brian@diku Nybegynder
27. marts 2001 - 11:37 #1
forstår ikke helt (er ikke motiveret for at fatte det ;) hvad du vil, men jeg har engang skulle have en masse lorte information i en select boks, så skrev jeg bare en alt sammen i value feltet, med mellemrum som seperator. Da det blev posted, så splitttede jeg den op og fandt det jeg skulle bruge .. ved ikke om det er nogen hjælp
Avatar billede mila Nybegynder
27. marts 2001 - 11:43 #2
Ikke rigtigt - Det der er problemet er at værdierne i selectboxene kan indeholde alle karakterer bare ikke CR. Dvs. der kan godt være mellemrum, komma og så videre i dem.

Derfor vil jeg gerne samle alle værdierne op i et par hidden value i formen som jeg så poster. Det skal virke meget som:

        function getLinks(lstLinks) {
            var result = \"\";
            var titel = \"\";
            if (FORM1.item(lstLinks).length == 0) {alert(\'You must have atleast one link in your favorite links!\'); return false;}
            for (var i = 0; i < FORM1.item(lstLinks).length; i++) {
                result += \",\" + FORM1.item(lstLinks).options[i].value
                titel += \",\" + FORM1.item(lstLinks).options[i].text
            }
            FORM1.links.value = result + \",\";
            FORM1.titels.value = titel + \",\";
        }

, eller noget i den stil, men uden komma som seperator. Det går ikke at sætte \"\\n\" ind, så jeg er på jagt efter noget som kan adde 13 (CR) til strengen...

Eller noget i den stil ;)

Hjalp det til at forstå det?
Avatar billede brian@diku Nybegynder
27. marts 2001 - 12:19 #3
halloo!!, jeg smider alt i values, mellemrum, komma alt! mellemrum even .. sætter dem \'bare\' sammen ..

dette kan sagtens være en value:
\"$€$£$€  l,-,.,- 6.57,56764342343\"

\"first,second,third\"

Avatar billede mila Nybegynder
27. marts 2001 - 13:01 #4
Og når jeg så skal splitte \"first,se,cond,third\" op igen?

Har du et eksempel?
Avatar billede brian@diku Nybegynder
27. marts 2001 - 13:51 #5
jeg mener javascript webshopen gør det .. har ikke lige tid nu, senere :)
Avatar billede jakoba Nybegynder
27. marts 2001 - 14:16 #6
Det går sagtens at tilføje \\n, \\f eller hvaffor et andet besynderligt tegn du vil. Men før du overfører de to arrays skal de omkodess med javascripts indbyggede escape( ... ) funktion:

result = escape(result);
titel  = escape(titel);

nu kan data sendes til server osv:

før du bruger dine strenge igen skal de unescapes:

result = unescape(result);
titel  = unescape(titel);

så kan du igen skille på skilletegnet.

mvh JakobA
Avatar billede mila Nybegynder
27. marts 2001 - 14:40 #7
Jakob,

Når jeg forsøger dette får jeg bare en streng der står 0 i? Er det fordi jeg ikke unescaper? Jeg skal sige dig - jeg har ikke mulighed for at unescape strengen i den applikation der fanger strengen..

Mikkel
Avatar billede jakoba Nybegynder
27. marts 2001 - 14:45 #8
Så er det jo mest din applikation der bestemmer hvad vi SKAL sende.
Og overførselen der bestemmer hvad vi KAN sende.

Eller har du mulighed for at bygge lidt programmel ind i applikationen? Det er let at unescape med en lille subroutine.

mvh JakobA
Avatar billede jakoba Nybegynder
27. marts 2001 - 14:47 #9
Noget andet er at der skule stå meget mere end 0 i strengen. prøvee at debugge lidt hvad der egentligt bliver sendt / modtaget.
Avatar billede mila Nybegynder
27. marts 2001 - 21:35 #10
Selv om intet af det du skrev hjalp mig, til at få det til at virke skubbede det mig i den rigtige retning.

Tak for hjælpen!
Avatar billede jakoba Nybegynder
27. marts 2001 - 23:08 #11
Fint nok og tak for points :)
Hvad var der da galt?
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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