Avatar billede louisec Nybegynder
09. marts 2000 - 15:23 Der er 14 kommentarer og
1 løsning

Sammenlægning af spørgsmål ?!?!

Hej...

Jeg skal bruge et script hvor man kan få flere samlet total.
Jeg har 41 spørgsmål, som skal svares med en værdi mellem 1-6. Disse spm. skal så ligges sammen på forskellig vis. Altså i 7 forskellige grupper, de skal så divideres med det antal spm., der er med i den pågældende gruppe. Så jeg får 7 resultater....
Kan det lade sig gøre ???
Avatar billede stoffer Nybegynder
09. marts 2000 - 15:54 #1
Lyder som noget der er nemmere at lave i ASP, kan du køre det?
Avatar billede olebole Juniormester
09. marts 2000 - 16:27 #2
<ole>
Det kan sikkert også sagtens gøres i JavaScript.
Hvordan ligger dine spørgsmål?...på én side, eller...?
Hvordan vælges en spørgsmåls-værdi?...ved select-inputs, eller...?
/VH
</bole>
Avatar billede louisec Nybegynder
09. marts 2000 - 18:50 #3
Jeg har en side i .htm, hvor alle spm. står. Resultatet skal stå på samme side...
Avatar billede louisec Nybegynder
09. marts 2000 - 18:52 #4
Værdi vil jeg have som en afkrydsningsboks fra 1 til 6, men hvis det ikke kan lade sig gøre, er det også fint hvis man bare kan skrive en værdi i feltet....
Avatar billede dar Nybegynder
09. marts 2000 - 20:48 #5
Hmmm....Jeg tror faktisk at jeg kan lave det...Meeen det bliver ikke for 60 point!
Avatar billede kim_bille Nybegynder
10. marts 2000 - 00:10 #6
Avatar billede mmark Nybegynder
10. marts 2000 - 12:07 #7
Okay jeg vil lægge 60 point yderligere på højkant til den der kan lave det !!!!
Avatar billede louisec Nybegynder
10. marts 2000 - 12:09 #8
Jeg giver 100 point ialt til den der kan hjælpe mig !!
Avatar billede olebole Juniormester
10. marts 2000 - 13:57 #9
<ole>
Prøv det, Kim har foreslået - det ser umiddelbart meget gangbart ud.
Ellers vil jeg prøve at lave det til dig i aften eller i morgen. Det kan under alle omstændigheder sagtens lade sig gøre i JavaScript...piece of cake ;-)
/VH
</bole>
Avatar billede louisec Nybegynder
10. marts 2000 - 15:45 #10
Jeg har set lidt på det andet svar, men kan ikke få det til at virke, vil meget gerne have hjælp...
Avatar billede dar Nybegynder
10. marts 2000 - 17:28 #11
ole>>DU laver det. Jeg er lige gået kold på det. :-)
Avatar billede olebole Juniormester
11. marts 2000 - 18:37 #12
Skal de første 7 lægges sammen, de næste 7 lægges sammen, osv?
Avatar billede louisec Nybegynder
11. marts 2000 - 20:18 #13
Jeg har selv fundet svaret. Men tusind tak til alle dem der har brugt tid på opgaven.
......Ole lav et lille svar og pointene er dine !!!
Avatar billede olebole Juniormester
12. marts 2000 - 04:00 #14
<ole>
Jeg har lige lavet et eksempel, så det kopierer jeg lige ind, så andre evt. kan få glæde af det:

<html>
<head>
<script language="JavaScript"><!--
var sum = new Array();
var num = new Array();
var resultat = new Array();
for (j=0; j<7; j++) {
    sum[j] = 0;
    num[j] = 0;
    resultat[j] = 0;
}

function beregn() {
    for (i=0; i<document.forms[0].length; i++) {
        with (document.forms[0]) {alert(elements[i].name.charAt(0));
            sum[elements[i].name.charAt(0)] += eval(elements[i].options[elements[i].options.selectedIndex].value);
            if (elements[i].options[elements[i].options.selectedIndex].value != 0) {
                num[elements[i].name.charAt(0)]++;
            }
        }
    }
    for (k=0; k<sum.length; k++) {
        if (sum[k] != 0 && num[k] != 0) {
            resultat[k] = sum[k] / num[k];
        }
    }
}
// -->
</script>

</head>
<body>
<form>
Hvor mange computerbrugere har tillid til Bill Gates?<br>
<select name=1_1>
<option value=0>V&aelig;lg
<option value=1>1
<option value=2>2
<option value=3>3
<option value=4>4
<option value=5>5
<option value=6>6
</select><br><br>
Hvor mange internetbrugere tror på, de ikke bliver overv&aring;get?<br>
<select name=1_2>
<option value=0>V&aelig;lg
<option value=1>1
<option value=2>2
<option value=3>3
<option value=4>4
<option value=5>5
<option value=6>6
</select><br><br>
Hvor mange gode hjemmesider har du set det sidste &aring;r?<br>
<select name=2_1>
<option value=0>V&aelig;lg
<option value=1>1
<option value=2>2
<option value=3>3
<option value=4>4
<option value=5>5
<option value=6>6
</select><br><br>
Hvor h&oslash;jt positivitetsniveau synes du, sp&oslash;rgeskemaforfatteren har<br>
p&aring; en skala fra 1-100?<br>
<select name=2_2>
<option value=0>V&aelig;lg
<option value=1>1
<option value=2>2
<option value=3>3
<option value=4>4
<option value=5>5
<option value=6>6
</select><br><br>
</form>
<a href=java script:beregn()>BEREGN</a>
</body>
</html>

De 7 resultater ligger i array'et 'resultat', og kan tilgås ved:
1.resultat = resultat[0];
2.resultat = resultat[1];
OSV...

Bemærk navngivningen af select-elementerne:
  <select name=1_3>
1-tallet angiver gruppe-nummer. 3-tallet angiver spørgsmåls-nummer i denne gruppe.
Her er altså tale om spørgsmål 3 i gruppe 1.

Ønsker du at indsætte andre elementer i formen (f.eks. knapper, text-inputs, osv), skal der ændres lidt. Tilføjes et element i begyndelsen, ændrer du:
  for (i=0; i<document.forms[0].length; i++) {
til:
  for (i=1; i<document.forms[0].length; i++) {

Tilføjes et i slutningen, ændrer du samme linie til:
  for (i=0; i<document.forms[0].length-1; i++) {

Du kan bruge flere eller færre grupper af spørgsmål. Antallet af spørgsmål i den enkelte gruppe er ubegrænset.
Ændrer du antallet af grupper, skal du ændre 7-tallet i denne linie:
  for (j=0; j<7; j++) {

/VH
</bole>
Avatar billede olebole Juniormester
12. marts 2000 - 04:02 #15
UPS...denne alert kan du godt slette, den var kun til test-brug:
alert(elements[i].name.charAt(0));
Den står i beregningsfunktionens anden linie.
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