Avatar billede appel Novice
23. august 2001 - 13:35 Der er 10 kommentarer og
1 løsning

indhentning af værdier fra php fil via javascript.

hvorledes henter man værdier fra sin mysql database ind i en javascriptfunktion som først bliver kørt efter at siden er blevet loadet??
Avatar billede roenving Novice
23. august 2001 - 14:01 #1
Du kan f.eks. sætte dem som globale variable i headeren:

<script language=\"Javascript\">
var value1=<%=dinPHPStatement%>;
//osv... (Ps. jeg kender ikke PHP, så du må lige rette syntaksen ovenfor!!)
</script>

hth
jes
Avatar billede appel Novice
23. august 2001 - 14:11 #2
Det går ikke da det er efter at siden er blevet genereret fra serveren at jeg igen skal have genereret nogen resultater via php (server baseret) og disse resultater skal jeg bruge som input til min javascript funktion...
Avatar billede roenving Novice
23. august 2001 - 14:21 #3
Så bliver du da nødt til at requeste en ny side fra serveren !?

Den kan du så måske have i en eller anden selvstandig frame, som alligevel ikke vises, men de skal komme et sted fra.
=;·]

Ps. Så skal du måske bruge onLoad-eventen på din form/dit dokument til at trigge den indlæsning.
Avatar billede appel Novice
23. august 2001 - 14:30 #4
hmm, altså jeg har følgende dropdown:
<form>
<select name=\"gruppe\" size=1 onChange=\"updateKat(this)\">
  <option>vælg gruppe
  <option>induk
  <option>special
</select><br>

som jo kalder et javascript hvori jeg skal bruge nogen værdier som php generer ud fra hvad brugeren har valgt i dropdown menuen. Hvor og hvordan siger at jeg skulle lave onLoad?
Avatar billede appel Novice
23. august 2001 - 14:32 #5
Hvor og hvordan siger du at jeg skulle lave onLoad?
Avatar billede roenving Novice
23. august 2001 - 14:45 #6
Hvis du vil have tingene til at ske, sådan at brugeren ikke mærker det, er det min erfaring, at du skal (pre)loade data (også selv om der måske er lidt mange), hvis det skal virke optimalt.

Kan du ikke simpelthen lave en preload af *alle* mulige data, når siden ellers er loadet -- så mange er der vel heller ikke ?

//function loadData(){
  var allData = new Array();
  allData[0] = new Array(<%=dinPHPStatement1%>,<%=dinPHPStatement2%><%=dinPHPStatement3%><%=dinPHPStatement4%><%=dinPHPStatement5%><%=dinPHPStatement6%>);
  allData[1] = new Array(<%=dinPHPStatement1%>,<%=dinPHPStatement2%><%=dinPHPStatement3%><%=dinPHPStatement4%><%=dinPHPStatement5%><%=dinPHPStatement6%>);
  //osv...
//}

function updateKat(kategori){
  idx = kategori.selectedIndex;
  for (i=0;i<document.forms[0].selectName.length;i++) {
    document.forms[0].selectName[i].value = allData[idx][i]
  }
}

jeg udkommenterede loadData-funktions-delene -- den sætter du bare allernederst i dit html-dokument
(husk i <script></script>-tags)

hth
jes
Avatar billede appel Novice
23. august 2001 - 16:13 #7
ja det er rigtigt med at man skal preloade hele molevitten først, nu er jeg nød til at lave en 2-dimensional liste, gør man det i JavaScript på denne måde:
list = new Array((\"a\",\"a\",\"),(\"b\",\"b\",\"b\"));
hvor list[0] = (\"a\",\"a\",\"a\");
??
Avatar billede appel Novice
23. august 2001 - 17:06 #8
naturligvis skulle der stå:
list[0] = (\"a\",\"a\");
og kan jeg tilegne en ny variabel værdien af list[0] således:

vari = list[0];

??
(hvis du svarer får du pointene...hehe)
Avatar billede roenving Novice
23. august 2001 - 17:47 #9
Ha-ha, som jeg har skrevet v. spm 101551:

Arrays kan kun være en-dimensionable.

Til gengæld kan et element i en liste godt vare et andet Array, så:

list = new Array();
list[0] = new Array(\"a\",\"a1\");
list[1] = new Array(\"b\",\"b1\");
list[2] = new Array(\"c\",\"c1\");

og så skal du have fat i enkeltværdier, kan du skrive

newValue = list[0][0] (= \"a\");
newValue = list[0][1] (= \"a1\");

så næsten rigtigt i din idé.

hth
jes
Avatar billede roenving Novice
23. august 2001 - 17:48 #10
-- og til det sidste: Ja, det er lovligt aT
vari = list[0];
Avatar billede appel Novice
23. august 2001 - 17:52 #11
LOL...Værsgo så får du pointene...
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