Avatar billede Slettet bruger
11. maj 2001 - 16:52 Der er 34 kommentarer og
1 løsning

Dynamisk genereret selectbox --> PHP variabler

Hej hej!  Så må jeg ty til eksperterne igen. Jeg har på www.datefinder.dk/studiestarter.dk/soeg_bolig.php en masse JavaScript der tilsammen genererer et par dynamiske selectboxe.

Nu vil jeg gerne have smidt de postnumre/byer der er valgt ind i (helst) et array som jeg kan samle op i PHP. Så kommer problemet.

Til at generere selectboxenes indhold, har jeg brugt noget JavaScript som jeg har fundet på nettet. Men for at få fat i indholdet i PHP, skal selectboxen vel have navnet \"navn[]\" ikke sandt?

Desværre hedder selectboxen bare \"list2\", og hvis jeg prøver at redigerer i mit JavaScript får jeg fejl.

Som jeg ser det er der 2 muligheder:

1. Javascriptet bliver ændret så det virker med \"list2[]\".

2. Jeg bruger noget JavaScript til at samle op hvad der står i selectboxen, og smider i et array.

Jeg kan ikke finde ud af nogle af delene.

Gode svar belønnes pænt!
Avatar billede emileej Nybegynder
11. maj 2001 - 16:59 #1
Brug:
document.dinForm[\"list2[]\"];
hvor list2[] er din selectbox

E-)mil
http://eej.dk
http://fotx.net/emileej
Avatar billede Slettet bruger
11. maj 2001 - 17:02 #2
? Hvor skal jeg bruge det ?
Avatar billede Slettet bruger
11. maj 2001 - 17:04 #3
Hov, nu forstår jeg!
Avatar billede Slettet bruger
11. maj 2001 - 17:07 #4
Men hvordan får jeg så fat i det med PHP?

Min ide er at de valgte byer nu ligger i et array der hedder list2[] men når jeg prøver at echo $list2[0] kommer intet frem...
Avatar billede emileej Nybegynder
11. maj 2001 - 17:10 #5
Kigger liiige...
Avatar billede emileej Nybegynder
11. maj 2001 - 17:12 #6
prøv at lave en echo gettype($list2);
Avatar billede emileej Nybegynder
11. maj 2001 - 17:14 #7
Hvad sir den?
Avatar billede Slettet bruger
11. maj 2001 - 17:16 #8
NULL
Avatar billede emileej Nybegynder
11. maj 2001 - 17:20 #9
Det er jo klart! Der er jo ikke noget, der er valgt! *lol*
Avatar billede Slettet bruger
11. maj 2001 - 17:22 #10
Jamen...det siger den også hvis jeg vælger noget... eller echoer $list2[0] eller $list2[1]
Avatar billede emileej Nybegynder
11. maj 2001 - 17:25 #11
lav en javascript funktion, der trigges af din forms onsubmit - ala:

function selectAll(){
  for(i=0;i<=document.DinForm[\"list2[]\"].options.lenght;i++){
    document.DinForm[\"list2[]\"].options[i].selected=true;
  }
  retrun true;
}

er ikke helt sikker på, om det dutter...
Avatar billede emileej Nybegynder
11. maj 2001 - 17:26 #12
Prøv at vælge første og andet emne i listen, og tryk søg nu...så kan du se, at det virker =)
Avatar billede Slettet bruger
11. maj 2001 - 17:40 #13
Neej...hvad skal jeg echoe?

Prøv selv at kigge på min side..
Avatar billede emileej Nybegynder
11. maj 2001 - 17:58 #14
jeg har kigget - det virker
Avatar billede emileej Nybegynder
11. maj 2001 - 17:59 #15
prøv at echoe list2[0]; og list2[1]; og prøv så at vælge dem i listen, og søge - så kan du se, at det virker :)
Avatar billede Slettet bruger
11. maj 2001 - 18:10 #16
Nu har jeg sat min side op som du siger, men det der bliver echoet indeholder ikke noget...
Avatar billede Slettet bruger
11. maj 2001 - 18:14 #17
Kig engang på den...jeg har lavet en tabel der fortæller hvad den echoer..
Avatar billede emileej Nybegynder
11. maj 2001 - 18:18 #18
Prøv at echoe en count($list2[]); og lav en reset($list2[]);
Avatar billede Slettet bruger
11. maj 2001 - 18:26 #19
Det første giver: Fatal error: Cannot use [] for reading in /usr/local/www/datefinderdk/www/studiestarter.dk/soeg_bolig.php on line 19
Avatar billede Slettet bruger
11. maj 2001 - 18:28 #20
Den er ok hvis man dropper de der [] så tæller den rigtigt...
Avatar billede emileej Nybegynder
11. maj 2001 - 18:28 #21
hov - det er jo også fokert:
count($list2);
reset($list2);
Avatar billede Slettet bruger
11. maj 2001 - 18:28 #22
Men den skal jo tælle selvom man ikke har valgt nogen..forstår du?
Avatar billede emileej Nybegynder
11. maj 2001 - 18:32 #23
ja - det er derfor jeg lavede den der select all javascript funktion til dig - jeg er bare ikke helt sikker på, at det der med ...ns[i].selected=true; er helt korrekt...
Avatar billede Slettet bruger
11. maj 2001 - 18:35 #24
Jeg tror ikke helt den virker...men arrayet indeholder dem man vælger..men de kan ikke udskrives? weird!
Avatar billede emileej Nybegynder
11. maj 2001 - 19:27 #25
Har du checket, om det javascript, der tilføjer emnerne fra den ene liste til den anden også tildeler emnerne en \'value\' og ikke kun tekst?
Avatar billede Slettet bruger
11. maj 2001 - 19:30 #26
Hmmm..neej...2 sek..
Avatar billede Slettet bruger
11. maj 2001 - 19:31 #27
Her er det script jeg bruger:

<script language=\"JavaScript1.2\">

function mover(move){
    if(move == \'remove\')
    {
        for(x = 0;x<(document.globe[\"list2[]\"].length);x++)
        {
            if(document.globe[\"list2[]\"].options[x].selected)
            {
                with(document.globe.country)
                {
                    options[options.length] = new
Option(document.globe[\"list2[]\"].options
[x].text,document.globe[\"list2[]\"].options[x].value);
                }
                document.globe[\"list2[]\"].options[x] = null;
                x = -1;
            }
        }
    }
    if(move == \'add\')
    {
       
        for(x = 0;x<(document.globe.country.length);x++)
        {
            if(document.globe.country.options[x].selected)
            {
                with(document.globe[\"list2[]\"])
                {
                    options[options.length] = new
Option(document.globe.country.options
[x].text,document.globe.country.options[x].value);
                }
                document.globe.country.options[x] =
null;
                x = -1;
            }
        }
    }
    return true;
}

</script>
Avatar billede emileej Nybegynder
11. maj 2001 - 19:31 #28
JEg tror at det er i dine arrays, at den er gal - prøv at udskifte array værdierne efter mønsteret:
\"(\'8990 Fårup \')\" med \"(\'8990 Fårup \',\'8990 Fårup \')\"
Avatar billede emileej Nybegynder
11. maj 2001 - 19:32 #29
Du kan jo bare prøve med eet af dine arrays først...
Avatar billede Slettet bruger
11. maj 2001 - 19:37 #30
Nu får de værdier! Prøv med Bornholm...Der var kun 6-7 stykker at ændre :-)

Men jeg skal stadigvæk vælge dem før de bliver overført..(Vi er tæt på mål)
Avatar billede emileej Nybegynder
11. maj 2001 - 19:48 #31
Heh - tænkte det nok :)
Jeg prøver liiige at bixe en javascript funktion sammen til at vælge hele molivitten =)
Avatar billede Slettet bruger
11. maj 2001 - 19:49 #32
*S*
Avatar billede emileej Nybegynder
11. maj 2001 - 20:41 #33
Indsæt følgende javascript funktion:

function SelectAll(){
  for(var i=0;i < document.dinForm[\"list2[]\"].length;i++)
    document.dinForm[\"list2[]\"][i].selected=true;
  }
  return true;
}

indsøt følgende event i din form:
onsubmit=\"SelectAll();\"

Det skulle være det :)

E-)mil
Avatar billede Slettet bruger
11. maj 2001 - 23:48 #34
Hej igen! Nu virker det, så skal jeg bare have rettet i alle postnumrene..Puha..LOL

Du har ihverttilfælde gjort dig fortjent til dine point!

Så regner jeg med at se dig på et tidspunkt som betatester af min søgefunktion :-)
Avatar billede emileej Nybegynder
12. maj 2001 - 08:57 #35
Hehe - det var så lidt :)

Jeg vil med glæde teste din funktion *lol*

Du kan på fat på mig via icq# 99792355 eller email: johansen_emil@hotmail.com :)


E-)mil
http://eej.dk
http://fotx.net/emileej
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