Avatar billede nateksi Nybegynder
03. marts 2005 - 13:05 Der er 9 kommentarer

Array fra javascript

Jeg har en liste som er lavet af en select... jeg bruger javascript til at sætte ind i den og det virker fint. Nu vil jeg gerne have at jeg kan få et array med det der står i listen så jeg kan bruge det i php.

//listen
<select size="11" style="width: 300px;" name="liste" class="input"></select>

//javascript
<script language="JavaScript" type='text/JavaScript'>
function tilfoej() {
  opt = document.getElementById('liste')
  ename = document.getElementById('e_name')
  email = document.getElementById('e_mail')
  level = document.getElementById('e_level')
  opt[opt.length] = new Option(ename.value + " : " + email.value + " : " + level.value, ename.value + " : " + email.value + " : " + level.value);
}
</script>

Jeg skal bruge arrayet til at oprette det indtastede i databasen...
Avatar billede olebole Juniormester
03. marts 2005 - 13:08 #1
<ole>

JavaScript kører på klienten og PHP på serveren, så PHP kan ikke bruge array'et til noget, med mindre du 'tager en tur forbi' serveren

/mvh
</bole>
Avatar billede nateksi Nybegynder
03. marts 2005 - 13:10 #2
Hmm... hjælper det noget hvis jeg skal bruge det i forbindelse med tryk på en knap?

Eller findes der en anden måde hvor jeg kan få det der står i listen?
Avatar billede olebole Juniormester
03. marts 2005 - 13:20 #3
Hvad vil du præcis lave og hvordan?
Avatar billede nateksi Nybegynder
03. marts 2005 - 13:25 #4
jeg vil lave sådan at først indtaster man 3 ting i tre tekstfelter trykker på en knap så disse bliver sat ind i listen. Dette kan så foretages så mange gange man finder nødvendigt(dejer sig om at oprettte brugere). Når der ikke skal tilføjes flere skal man kunne trykke på en anden knap og derved oprette alt i listen i databasen.
Avatar billede olebole Juniormester
03. marts 2005 - 13:55 #5
<script type="text/JavaScript">
function setSelect(f) {
    var sel = f.elements["bla[]"];
    sel.multiple = "multiple";
    for (i=0; i<sel.length; i++) {
        sel.options[i].selected = true;
        sel.focus(); // Lille 'hack' af hensyn til IE
    }
}
</script>
<form ...... onsubmit="setSelect(this)">
    <select name="bla[]">
        <option value="val_1">test 1</option>
        <option value="val_2">test 2</option>
        <option value="val_3">test 3</option>
    </select>
   
    <button type="submit">Opdater</button>
</form>

Så har du et array på serveren, der hedder 'bla'
Avatar billede nateksi Nybegynder
04. marts 2005 - 09:45 #6
Hmm... jeg tror ikke jeg helt forstår dit eksempel... men jeg bruger jo javascript til at sætte en tekststreng ind i listen(array). Nu vil jeg bare gerne have fat i det der står i listen i et array med php så jeg kan få det oprettet i databasen. Så i den forbindelse skal jeg jo forbi serveren så kan jeg ikke få enten javascript til at sende array'et eller få php til at hente array'et?
Avatar billede olebole Juniormester
04. marts 2005 - 11:54 #7
Denne her submitter formen mod serveren, så du kan sætte værdierne ind i DB'en
Avatar billede nateksi Nybegynder
04. marts 2005 - 12:34 #8
Okay... jeg er nok lidt dum men kan du så give mig et eksempel på hvordan jeg så får fat i det array i php...
Avatar billede olebole Juniormester
05. marts 2005 - 11:01 #9
Som med enhver anden form. Bruger du method="post", ligger de i $_POST-arrayet og bruger du 'get, ligger de i $_GET-arrayet ... i variablen 'bla', som er et array. Du kan f.eks. skrive:

print $_POST["bla"][0]; - som vil returnere 'val_1' i mit eksempel
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