snoopafella Skrevet 28. januar 2005 Del Skrevet 28. januar 2005 (endret) Hvis jeg lager en variabel i et javaskript som skal settes inn i et html dokument, er den tilgjengelig også utenfor skriptet? (Kan variablen fra skriptet brukes av html koden utenfor skriptet?) Prøver å få til at et javaskript setter en variabel, og at html koden laster et bilde på grunnlag av denne variablen.. Endret 28. januar 2005 av snoopafella Lenke til kommentar
DevN Skrevet 30. januar 2005 Del Skrevet 30. januar 2005 Kan du utdype litt nærmere hva du vil oppnå? Vet ikke helt hva du mener med om variabelen er tilgjengelig utfor scriptet. Lenke til kommentar
snoopafella Skrevet 30. januar 2005 Forfatter Del Skrevet 30. januar 2005 <html> <head> <script language=JavaScript> function bilde() { var navn= "[0]"; //variabel fra cgi script switch (navn) { case "bone": document.write("<img src="/image/bone.JPG>") break; default: document.write("<img src="/image/default.JPG>") break; } } </script> </head> <body> <BODY onLoad="return bilde()"> //får ingen output her... </body> </html> Prøver å få denne her til å funke, men får ingen output.. Kaller jeg funksjonen feil eller er funksjonen feil definert? Lenke til kommentar
DevN Skrevet 30. januar 2005 Del Skrevet 30. januar 2005 Prøv denne: <html> <head> <script type="text/javascript"> function bilde() { var navn= "[0]"; //variabel fra cgi script switch (navn) { case "bone": document.write("<img src='/image/bone.JPG'>") break; default: document.write("<img src='/image/default.JPG'>") break; } } </script> </head> <body onload="bilde()"> </body> </html> Var noen feiler i din kode. Tror denne skal funke, hvis du får resultatet fra CGI-scriptet (du bør teste en output av resultatet, for å være sikker på at resultatet registreres). Lenke til kommentar
Jonas Skrevet 30. januar 2005 Del Skrevet 30. januar 2005 Nei, jeg tror ikke dette vil funke. CGI-script sender vel ikke masse variabler med output. Uansett så tror jeg nok det finnes andre løsninger på problemet. Du kan jo feks. legge variabelen i URLen og hente den med PHP eller evt. CGI hvis det går. (Jeg tenker på GET[].) 'Side.php?Bilde=bone&Annet=JA' Lenke til kommentar
DevN Skrevet 30. januar 2005 Del Skrevet 30. januar 2005 Ohh, jeg liker PHP. Dette bør i så fall funke hvis du satser på GET: <html> <body> <?php $bilde=$_GET["bilde"]; if ($bilde=="bone") { echo "<img src=\"bilde1.jpg\" />"; } else { echo "<img src=\"bilde2.jpg\" />"; } ?> </body> </html> Lenke til kommentar
snoopafella Skrevet 1. februar 2005 Forfatter Del Skrevet 1. februar 2005 (endret) <TABLE BORDER=2 CELLSPACING=0 CELLPADDING=1> <TD><TABLE BORDER=1 CELLSPACING=0 CELLPADDING=3 WIDTH=700 > <td><tr> <TD> <left><FONT SIZE="-1"><b>[0] som gjerne ville [2] kl [t] sa:</FONT></left> </TD></tr></td> <TD rows=2> <left><FONT SIZE="-1">[6]</FONT></left> </TD> </TR> </TABLE> </TD> <TD> <body onload="bilde()">//bildet skal inn her... </TD> </TABLE> <p align=right><a href="#skjema"></a><p> </body> </html> Skriptet funka DevN.. takker.. men.... Bildet skal inn i denne tabellen, men åpnes i et nytt/blankt vindu og ikke i cellen det skal være i, når jeg prøver koden vist over..(tok ikke med headeren) Noen forslag? Forklaring på hvordan siden er bygget opp: "Gjesteboka" er et ferdiglaget telenor skript. Den setter sammen en side av 3stk. html dokumenter.. hvis den ikke finner kapsel.html (koden vist ovenfor) vises ingen innlegg.. Innlegg til gjesteboka kommer fra topp.htm og blir lagret i "dato+id.inn" filer. (1 fil for hvert innlegg) Filene inneholder verdier fra en form i topp.htm kalt [0]...[9]. ([0]=navn, [6]=selve teksten de skrev) cgi skriptet henter verdiene for [0] til [9] fra hver "dato+id.inn" fil og setter det inn i hver sin kapsel.htm...(som dere ser av koden settes verdiene [0],[2] og [6] inn i en fedig tabell) oppbygning av siden: topp.htm kapsel.htm (innlegg 1) kapsel.htm (innlegg 2) osv.. bunn.htm Har ikke vært borti php men jeg tror ikke det går, siden kapsel må være kapsel.htm..(kalte den html istedet for .htm en gang og websiden funket ikke, kapsel.php vil altså ikke funke) Endret 1. februar 2005 av snoopafella Lenke til kommentar
DevN Skrevet 1. februar 2005 Del Skrevet 1. februar 2005 (endret) Ok, jeg tok den enkleste løsningen jeg kom på. Jeg tror den skal funke like bra som den andre. Her kuttet jeg altså ut hodet ("<head></head>"), og tok alt nede i tabellen. <html> <body> <table width="400px" border="1" id="tableimg"> <tr><td> I cellen under vises bildet: </td></tr> <tr><td> <script type="text/javascript"> var navn="[0]"; switch (navn) { case "bone": document.write("<img src='/image/bone.JPG' />") break; default: document.write("<img src='/image/default.JPG' />") break; } </script> </td></tr> </table> </body> </html> Antar du kan sette det slik du skal ha det selv? Og en annen ting: Ikke bruk store bokstaver i HTML-kode. EDIT: Angående PHP, så kan siden kjøres "server-side" selv om den ikke har endelsen ".php". Men det avhenger jo av innstillingene serveren kjører. Endret 1. februar 2005 av DevN Lenke til kommentar
snoopafella Skrevet 2. februar 2005 Forfatter Del Skrevet 2. februar 2005 Det funka brillefint det. wohoo!! (selv om det tok meg en halv time å finne ut at jeg skulle ha ' istedenfor " , når jeg skulle sette størrelsen på bildet. ) Takk for hjelpen Får sette meg inn i php siden alle jeg har spurt om hjelp til dette skriptet sier "bruk php heller".. Lenke til kommentar
DevN Skrevet 2. februar 2005 Del Skrevet 2. februar 2005 Det er nok mulig med «"» også, men krever som regel et tegn foran slik at JavaScript forstår at det er en del av strengen. Jeg vet ikke hvordan man får et slikt i JavaScript, men i VBScript kan man bruke «""» (dobbelt), og i PHP kan man bruke «\"». Kan sikkert gjøres som i PHP. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå