Oprettet lør. d. 14. marts 2009 kl. 16:01:20

challenge
challenge (9.345 point. Point ude: 60)

bruge AJAX som switch

Hej alle,

I processen at lave en side, er jeg rendt ind i et problem. Jeg ønsker at have en knap der skal operere som en slags switch - altså en knap der skifter mellem to baggrundsbilleder hver gang den trykkes (og i processen sender nogle data til en database).

Mit problem er, at switchen kun vil gå den ene vej, nemlig til "on". I min xhr.readyState == 4 har jeg følgende:

if(document.getElementById("submitForm").style.background == 'url(images/icons/cookie.jpg)')
{
    document.getElementById("submitForm").style.background = 'url(images/icons/cookie_green.jpg)';   
} else
{
    document.getElementById("submitForm").style.background = 'url(images/icons/cookie.jpg)';
}

Hvorfor vil min switch ikke skifte til "off" når jeg trykker?

Hvis I mangler informationer, bed da gerne om disse.

Skrevet lør. d. 14. marts 2009 kl. 16:07:35| #1

Prøv i en

  alert(document.getElementById("submitForm").style.background)

at se hvad der faktisk står.

Skrevet lør. d. 14. marts 2009 kl. 16:21:35| #2

challenge
challenge (9.345 point)
Hej Erik,

Hmm... Alert-en fremkommer ikke når jeg trykker - kan det have noget at gøre med if-sætningen der ikke virker, af en eller anden grund?

Skrevet lør. d. 14. marts 2009 kl. 16:29:41| #3

jensgram
jensgram (39.129 point)
www.jensgram.dk
Ja, indsæt Eriks alert() lige før din if (...)

Skrevet lør. d. 14. marts 2009 kl. 16:47:31| #4

challenge
challenge (9.345 point)
Første gang jeg trykker (hvor switch-en endnu ikke har væren igennem AJAX) viser alert-en intet. Trykker jeg på knappen igen siger alert-en
transparent url(images/icons/cookie_green.jpg) repeat scroll 0% 0%

Skrevet lør. d. 14. marts 2009 kl. 16:53:50| #5

Du skal regne med at du ikke nødvendigvis med JS kan aflæse disse attributter, hvis de ikke er sat med JS.

Og som du nu ser, så skal du skrive noget kryptisk, hvis det skal virke.

Den lidt bedre løsning vil være at have en simpel JS-variabel:

  var billede = 1;

og sætte den til at skifte mellem fx 1 og 2, når du skifter billede. Så kan du nøjes med at aflæse den, for at se hvilket billede der er aktivt.

Skrevet lør. d. 14. marts 2009 kl. 17:04:20| #6

challenge
challenge (9.345 point)
Ok, det vil jeg prøve - mange tak for hjælpen :)

Smid gerne et svar :)

Skrevet lør. d. 14. marts 2009 kl. 17:12:50| #7

Jeg samler slet ikke på point, tak.

Men lad os lige høre, om du får det til at virke.

Skrevet lør. d. 14. marts 2009 kl. 21:24:30| #8

challenge
challenge (9.345 point)
Puha... Det blev noget værre rod, men jeg fik den til sidst. Det bliver dog nok for besværligt at forklare. Tak for hjælpen, trods alt!

Jens: smid gerne et svar!

Skrevet søn. d. 15. marts 2009 kl. 09:23:51| #9

jensgram
jensgram (39.129 point)
www.jensgram.dk
Nej, skam ikke for så lidt :)

Skrevet søn. d. 15. marts 2009 kl. 09:32:54| #10

challenge
challenge (9.345 point)
As you please :)
- tak for hjælpen!

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Hjælp til validering

Oprettet den 26. maj 2012 kl. 14.01
Stefan1 giver 20 point for svar | Giv et svar »

Javascript sliders?

Oprettet den 24. maj 2012 kl. 11.29
NizeGuy giver 15 point for svar | Giv et svar »

Validere navn i form

Oprettet den 22. maj 2012 kl. 15.13
13thsky giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger