Avatar billede gregorian Nybegynder
09. september 2004 - 19:06 Der er 2 kommentarer og
1 løsning

kalde en JavaS function i print

har denne linie
print '<select name="select_'.$nr.'" onChange="location=\'billedeserie.php?F=4&T=<script>findVal()</script>&G=1&id='.$_REQUEST[id].'\'">';

Hvor den ikke retunerer min javascript værdi men derimod bare sender headerem:
xxxxx.dk/xxx/xxxxx/billedeserie.php?F=4&T=<script>test()</script>&G=1&id=18

Hvor den burde returnere en talværdi:
xxxxx.dk/xxx/xxxxx/billedeserie.php?F=4&T2G=1&id=18

function fintValue() {
    return document.getElementById('select_'+tal)[document.getElementById('select_'+tal).selectedIndex].text;
}

Hvis der er en lettere måde at få værdien overført på så skriv endelig..

Men ellers hvordan får jeg den til at udføre mit javasript?
Avatar billede jakoba Nybegynder
09. september 2004 - 19:25 #1
No way. det kan ikke lade sig gøre.

PHP scriptet udføres på serveren og genererer en fil med HTML kode (og evt javascript kode) i. den genererede fil bliver sendt til brugerens browser, og det er først der at javascript kode bliver genkendt og udført.

Så det du skal gøre er at få php til at lave en fil med det korrekt script i. her er det en eventhandler du vil have funktionen udføret i. Så lad os kikke på den:

onChange="
  location=\'billedeserie.php?F=4&T=<script>findVal()</script>&G=1&id='.$_REQUEST[id].'\'
        ">';

eventhandlerstrengen (imellem " og ") er allerede javascript. DOM variabelen 'location' skal tildeles en strengværdi:
    location
              =
                \'billedeserie.php?F=4&T=<script>findVal()</script>&G=1&id='.$_REQUEST[id].'\'

og i javascript ligesom i php kan man sætte en streng sammen af stumper. Den eneste forskel er at i javascript bruger man '+' til det istedet for '.'

                \'billedeserie.php?F=4&T=\'
              + findVal()
              + \'&G=1&id='.$_REQUEST[id].'\'

så alt ialt bliver det:

onChange="location=\'billedeserie.php?F=4&T=\'+findVal()+\'&G=1&id='.$_REQUEST[id].'\'">';

jeg tipper det er det du ønsker. men funktionen findval bliver altså ikke kalde førend  brugeren akriverer den onchange handeler i browseren.

mvh JakobA
Avatar billede gregorian Nybegynder
09. september 2004 - 20:01 #2
det vidste jeg jo egentlig godt, men lavede fejlen alligvel..
troede faktisk at min function først blev udført ved OnChange.

Nok om det.. det virkede med lidt rettelser i din kode :)
det fortjener da lidt point gør det iK? :=)
Avatar billede jakoba Nybegynder
09. september 2004 - 20:06 #3
takker da :)
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