FAQ |
Kalender |
2010-05-19, 16:09 | #1 | ||
|
|||
Har WN som tidsfördriv
|
Hejsan,
sitter med ett litet experiment och hoppar på ett jobbig fel. Jag har en PHP fil som genererar tre variabler och blir en JS fil. Kod:
var Title1 = "string1"; var Title2 = "string2"; var Title3 = "string3"; var Antal = 3; // antalet titlar! Kod:
<script type="text/javascript" src="titlar.php"></script> </head> <body> <script type="text/javascript"> for(inits = 1; inits < Antal + 1; inits++){ var theTitle = Title + inits.toString(); document.write(); // ska skriva ut alla titlar i loop! } </script> Är rätt så ny på javascript men vet var felet ligger men vet inte hur jag ska fixa lösningen. Hjälp tack? Tacksam! |
||
Svara med citat |
2010-05-19, 16:23 | #2 | ||
|
|||
Flitig postare
|
Varför använder du dig inte utav JSON?
|
||
Svara med citat |
2010-05-19, 16:29 | #3 | ||
|
|||
Har WN som tidsfördriv
|
|||
Svara med citat |
2010-05-19, 16:29 | #4 | ||
|
|||
Mycket flitig postare
|
Citat:
Kod:
var theTitle = Title + inits.toString(); Skapa en variabel med namnet theTitle. Sätt värdet på den lika med värdet på variabeln Title plus strängvärdet av variabeln inits. Variabeln Title finns inte och värdet blir då "undefined". theTitle kommer då få värdet "undefined1", "undefined2" och "undefined3"; På nästa rad i koden skriver du ut en tom sträng. Funktionen document.write tar ett argument (mellan paranteserna), nämligen vad det är den skall skriva ut. Om du vill hämta variablerna på det sätt du beskriver kan man möjligen använda eval så man kan skapa ny JS-kod som körs. Det är absolut inte att rekommendera eftersom det kan tillåta besökaren att köra egen kod. Jag föreslår att du gör titlarna till en array istället. Då kan du ha denna kod: PHP-kod:
Kod:
var theTitle = Title[inits]; --- EDIT: Tycker det kan vara överkurs att använda JSON för denna informationen. Om du inte menade att han ska använda ett objekt för att lagra titlarna. |
||
Svara med citat |
2010-05-19, 16:32 | #5 | ||
|
|||
Supermoderator
|
När du skriver Title så är det ett variabelnamn. Skriver du 'Title' så är det en sträng med värdet Title. Document.write skriver ut det som står inom parentesen, alltså i ditt fall ingenting.
Eftersom det är i JS felet ligger så flyttar jag till klientsidan.
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2010-05-19, 16:55 | #6 | ||
|
|||
Har WN som tidsfördriv
|
qson: Tackar verkligen! mycket smartare lösning! Tack! allting funkade också som det skulle! tack återigen!
tartareandesire: Jo, satt själv och funderade vart jag skulle lägga tråden, men tack! |
||
Svara med citat |
2010-05-19, 17:04 | #7 | ||
|
|||
Mycket flitig postare
|
Kul att det hjälpte
Vill bara tillägga att egentligen börjar arrayer räkna sina index från 0. Dessutom behöver man inte ange index när man definerar den. PHP-kod:
|
||
Svara med citat |
2010-05-19, 17:39 | #8 | ||
|
|||
Har WN som tidsfördriv
|
Citat:
|
||
Svara med citat |
2010-05-20, 09:58 | #9 | |||
|
||||
Mycket flitig postare
|
Jag fattar inte varför det alltid är någon som måste föreslå json, jquery, flash eller något annat i varje tråd där javascript kommer upp... På vilket sätt skulle JSON hjälpa i det här konkreta fallet?
youheardit: om du använder det qson föreslog så kan du dessutom använda bara document.write(Title.join("")); för att skriva ut hela array:en. |
|||
Svara med citat |
2010-05-20, 16:41 | #10 | ||
|
|||
Flitig postare
|
Citat:
|
||
Svara med citat |
Svara |
|
|