[JS] OnChange in IE vóór functie?

Pagina: 1
Acties:

  • Koppensneller
  • Registratie: April 2002
  • Laatst online: 01-12 16:01
Ik heb het volgende probleem:

Ik ben bezig met een webapplicatie waarin de gebruikers inspectielijsten kunnen invullen. Voor elk inspectiepunt zijn 4 mogelijke antwoorden, elk met een eigen radiobutton. Onderaan de pagina wordt weergegeven hoe vaak elk antwoord is gegeven. Dit doe ik door aan de OnChange een functie te hangen die de scores telt. In Firefox werkt dit prima, maar dus niet in IE. In Internet Explorer wordt eerst de functie uitgevoerd, en daarna pas de waarde van de radiobutton veranderd. Dan klopt de antwoordentelling dus niet.

De functie waar het om gaat is:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    function countScores()
    {
        buttons = document.getElementsByTagName("input");
        no_f = 0;
        no_m = 0;
        no_g = 0;
        no_n = 0;
        for(i=0;i<buttons.length;i++)
        {
            if(buttons[i].getAttribute("type") == "radio" && buttons[i].checked)
            {
                switch(buttons[i].getAttribute("value"))
                {
                    case 'f':
                        no_f++;
                        break;
                    case 'm':
                        no_m++;
                        break;
                    case 'g':
                        no_g++;
                        break;
                    case 'n':
                        no_n++;
                        break;
                }
            }
        }
        document.getElementById("sc_f").innerHTML = no_f;
        document.getElementById("sc_m").innerHTML = no_m;
        document.getElementById("sc_g").innerHTML = no_g;
        document.getElementById("sc_n").innerHTML = no_n;


Ik heb al geprobeerd een delay in te bouwen aan het begin van de functie, maar dat mocht niet baten. De funtie aan de OnClick hangen heeft ook geen nut.

Wie helpt mij? :?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Waar hangt je onchange nu aan? en kan je dat stukje code ook posten :)



Sterker nog: IE die hanteert een onchange pas zodra je radio button wordt geblurred, dus je zou je code kunnen verplaatsen naar een onclick op je form, dat werkt wel direct :)

Enige wat ik me afvraag, moet het ook echt gaan optellen, want zoals je het nu hebt, wordt er alleen maar bijgehouden welke button is gedrukt ;)

[ Voor 78% gewijzigd door BtM909 op 09-03-2007 10:32 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:12

crisp

Devver

Pixelated

Niet onchange gebruiken maar onclick op je radiobutton.

BtM909: bij een onclick op je form moet je eerst nog gaan uitpluizen of er wel op een radiobutton is geklikt en welke...

Intentionally left blank


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

crisp schreef op vrijdag 09 maart 2007 @ 10:37:
Niet onchange gebruiken maar onclick op je radiobutton.
Las dat ook niet werkte, niet hier getest iig :)
BtM909: bij een onclick op je form moet je eerst nog gaan uitpluizen of er wel op een radiobutton is geklikt en welke...
Dat doet hij sowieso al, door alle inputs af te lopen, vroeg me daarom ook al af of deze opzet uberhaupt wel geschikt is voor wat TS ermee wilt doen :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Koppensneller
  • Registratie: April 2002
  • Laatst online: 01-12 16:01
crisp schreef op vrijdag 09 maart 2007 @ 10:37:
Niet onchange gebruiken maar onclick op je radiobutton.

BtM909: bij een onclick op je form moet je eerst nog gaan uitpluizen of er wel op een radiobutton is geklikt en welke...
Jup, dat was hem. De functie hangt nu aan de onClick en dat werkt prima. Ik had die onClick al geprobeerd, maar toen had ik dat steeds maar bij één van de 4 antwoorden gedaan :$ , dat viel me op toen ik net in de HTML zat te kijken.

Al die aandacht van de modjes, ik ga dr zowat van blozen :P

Bedankt!

[ Voor 5% gewijzigd door Koppensneller op 09-03-2007 10:54 ]