Avatar billede zkov82 Nybegynder
17. december 2006 - 22:06 Der er 12 kommentarer og
1 løsning

automatisk afkørsel af function ved onmouseclick

Hej.
Jeg har lavet en function i php kaldet style().

Det er meningen at denne function skal køres når jeg trykker på et billede. Men hver gang siden bliver loadet køres functionen.

Hvad sker der?

Her er koden:

<td width="29" class="rightstroke"><a href="#" onClick="<?php style()  ?>" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('txtstr','','img/ikoner/aa_over.gif',1)"><img src="img/ikoner/aa.gif" alt="Tekstst&oslash;rrelse" name="txtstr" width="28" height="40" border="0" id="txtstr" /></a></td>
Avatar billede mcardle Nybegynder
18. december 2006 - 06:10 #1
Prøv at smid alt det her ind i dit img-tag:

onClick="<?php style()  ?>" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('txtstr','','img/ikoner/aa_over.gif',1)"

din href i linket reloader jo din side og kører functionen.
Avatar billede onkel_satan Nybegynder
18. december 2006 - 07:39 #2
Det kan ikke lade sig gøre af den simple grund, at javascript afvikles på klient siden og php på server siden. Når webserveren skal loade din .php fil parser den efter <?php ?> tags og afvikler koden efter php's regler. Php ved ikke at <?php style()  ?> er omgivet af en javascript event.
Men det er som sagt også ligegyldigt da onClick event sker på klient siden og det har webserveren ikke nogen viden om.
Avatar billede fixxxer Nybegynder
18. december 2006 - 11:35 #3
Hva' skal funktionen style() gøre?
Avatar billede zkov82 Nybegynder
18. december 2006 - 12:28 #4
Den ændrer en stylesheet reference
Avatar billede fixxxer Nybegynder
18. december 2006 - 12:35 #5
Og det er en funktion i php?

Den må du omskrive til javascript, hvis du vil have det til at virke på en nem måde (ellers skal vi have fat i nogle mere eksotiske sager som fx xmlhttprequest)


function change_style(obj, stl)
{
    d = document;
    d.getElementById(obj).className = stl;
}

<td width="29" class="rightstroke"><a href="#" onClick="change_stlye('txtstr', '<?= $style ?>');" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('txtstr','','img/ikoner/aa_over.gif',1)"><img src="img/ikoner/aa.gif" alt="Tekstst&oslash;rrelse" name="txtstr" width="28" height="40" border="0" id="txtstr" /></a></td>
Avatar billede fixxxer Nybegynder
18. december 2006 - 12:36 #6
Der sneg sig lige en tastefejl ind i markup'en, men jeg går ud fra at du kan gennemskue konceptet.
Avatar billede olebole Juniormester
18. december 2006 - 15:37 #7
<ole>

fixxxer >> Det dur heller ikke ... ikke hvis det er referencen til et stylesheet, der skal ændres  =)

zkov82 >> Du kan ikke loade et stylesheet efter dokumentet er loaded - det skal loades sammen med dokumentet. Derfor er du nødt til at reloade hele dokumentet med den nye stylesheet-reference  =)

/mvh
</bole>
Avatar billede fixxxer Nybegynder
18. december 2006 - 15:40 #8
Korrekt, jeg misforstod hans hensigt.
Avatar billede mcardle Nybegynder
19. december 2006 - 08:23 #9
Jeg går ud fra det skal virke, så hver enkelt bruger kan vælge et layout? Hvis der er login på din side, kan du jo bare spørge useren, når han/hun logger ind første gang, hvad for et style han/hun vil have og smide det i en db. Så opretter du bare forbindelse til din db og kigger hvilket style han/hun har valgt, hvis der ikke er noget, så indtast style.
Avatar billede olebole Juniormester
19. december 2006 - 13:10 #10
Det ville være uklogt at lægge det i en DB. Hvorfor dog bruge unødige resourcer på at kalde DB'en ved hvert sideskift?  ;o)
Avatar billede olebole Juniormester
19. december 2006 - 13:12 #11
- læg det i stedet i en cookie, som browseren alligevel serverer for serveren ... helt automatisk  =)
Avatar billede mcardle Nybegynder
19. december 2006 - 13:19 #12
God idé Ole... :oD
Avatar billede zkov82 Nybegynder
18. januar 2007 - 18:42 #13
ok...jeg giver op...har ikke kunnet få det til at virke, prøver noget andet.
Ellers mange tak for hjælpen.
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