Avatar billede qurzyx Nybegynder
18. februar 2004 - 11:56 Der er 11 kommentarer og
1 løsning

Spørgsmålfunktion + vurdering af svar

Hej.. Jeg prøver og fatte mig i korthed.
Jeg har en liste med XX antal spørgsmål, hvor man enten kan svare ja (Dette gøres ved at klikke på et gråt billede som så bliver til rødt billede) eller nej (Her gøres det samme, billedet bliver dog bare til grønt)...

Når man så trykker på "vurdere" skal antal besvaret spørgsmål+deres svar(ja/nej) blive gemt til senere vurdering

Hvordan laver jeg sådan en... Har prøvet lidt, bare for at vise ideen.. (Ved godt den er helt galt, men bedre end ingenting)

<html>
<head>
<script>
var svar=new Array(6);

function change(nr){
  svar[nr]=true
}

function changeRed(nr){
  svar[nr]=false
}

function Vis(){
alert(svar);
}


</Script>
</head>
<body topmargin="0" leftmargin="0">

    <table>
        <tr>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img src="grey.gif" onClick="change(1);src ='green.gif';Spg1Red.src='grey.gif'" name="Spg1Green">
                            <img src="grey.gif" onClick="changeRed(1);src ='red.gif';Spg1Green.src='grey.gif'" name="Spg1Red">
            </td>
        </TR>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img src="grey.gif" onClick="change(2);src ='green.gif';Spg2Red.src='grey.gif'" name="Spg2Green">
                            <img src="grey.gif" onClick="changeRed(2);src ='red.gif';Spg2Green.src='grey.gif'" name="Spg2Red">
            </td>
        </tr>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img src="grey.gif" onClick="change(3);src ='green.gif';Spg3Red.src='grey.gif'" name="Spg3Green">
                            <img src="grey.gif" onClick="changeRed(3);src ='red.gif';;Spg3Green.src='grey.gif'" name="Spg3Red">
            </td>
        </tr>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img src="grey.gif" onClick="change(4);src ='green.gif';Spg4Red.src='grey.gif'" name="Spg4Green">
                            <img src="grey.gif" onClick="changeRed(4);src ='red.gif';Spg4Green.src='grey.gif'" name="Spg4Red">
            </td>
        </tr>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img src="grey.gif" onClick="change(5);src ='green.gif';Spg5Red.src='grey.gif'" name="Spg5Green">
                            <img src="grey.gif" onClick="changeRed(5);src ='red.gif';Spg5Green.src='grey.gif'" name="Spg5Red">
            </td>
        </tr>
<!------- UNDER SATART ---------->       
        <TR>
              <td BGCOLOR="#EAEAEA">
                Hej hej:&nbsp;&nbsp&nbsp;<img src="grey.gif" onClick="change(5001);src ='green.gif';Spg5001Red.src='grey.gif';Spg5Green.src='green.gif';Spg5Red.src ='grey.gif';" name="Spg5001Green">
                            <img src="grey.gif" onClick="changeRed(5001);src ='red.gif';Spg5003Green.src='grey.gif';Spg5Green.src='grey.gif';Spg5Red.src ='red.gif';" name="Spg5001Red">
            </td>
        </tr>
        <TR>
            <td BGCOLOR="#EAEAEA">
                Hej hej:&nbsp;&nbsp&nbsp;<img src="grey.gif" onClick="change(5002);src ='green.gif';Spg5002Red.src='grey.gif';Spg5Green.src='green.gif';Spg5Red.src ='grey.gif';" name="Spg5002Green">
                            <img src="grey.gif" onClick="changeRed(5002);src ='red.gif';Spg5003Green.src='grey.gif';Spg5Green.src='grey.gif';Spg5Red.src ='red.gif';" name="Spg5002Red">
            </td>
        </tr>
        <TR>
            <td BGCOLOR="#EAEAEA">
                Hej hej:&nbsp;&nbsp&nbsp;<img src="grey.gif" onClick="change(5003);src ='green.gif';Spg5003Red.src='grey.gif';Spg5Green.src='green.gif';Spg5Red.src ='grey.gif';" name="Spg5003Green">
                            <img src="grey.gif" onClick="changeRed(5003);src ='red.gif';Spg5003Green.src='grey.gif';Spg5Green.src='grey.gif';Spg5Red.src ='red.gif';" name="Spg5003Red">
            </td>
        </tr>

<!------- UNDER SLUT -------->
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img src="grey.gif" onClick="change(6);src ='green.gif';Spg6Red.src='grey.gif'" name="Spg6Green">
                            <img src="grey.gif" onClick="changeRed(6);src ='red.gif';Spg6Green.src='grey.gif'" name="Spg6Red">
            </td>
        </tr>
        <tr>
            <td>
                <input type="submit" onclick="Vis();">
            </td>
        </tr>
    </table>

</body>
</html>
Avatar billede qurzyx Nybegynder
18. februar 2004 - 11:57 #1
Under start / Under start beskriver nogle underspørgsmål. Hvis man svarer nej til et underspørgsmål , SKAL det overordnet spørgsmål blive rødt (nej)
Avatar billede o-zone Nybegynder
18. februar 2004 - 12:30 #2
Hvad mener du med "blive gemt til senere vurdering"? Hvis du vil gemme (stort set) nogetsomhelst længere end hjemmesiden er i browseren, så er du nødt til at bruge et eller andet serverside snask. Javascript programmer og data forsvinder så snart brugeren lukker siden!
Avatar billede qurzyx Nybegynder
18. februar 2004 - 12:53 #3
Ja, det ved jeg godt.. Men det skal hellere ikk gemmes i den forstand, det skal bare sendes videre via en form eller ligende
Avatar billede roenving Novice
18. februar 2004 - 12:58 #4
En af metoderne er at lave flere sektioner inde i en form, og så vise dem een ad gangen, efterhånden som svarene bliver udfyldt ...
Avatar billede nute Nybegynder
18. februar 2004 - 13:32 #5
hehe ... en relativt "far fetched" løsning, måske ?!

<html>
<head>
<script>
var svar=new Array(6);
function answerQuestion( objImage )
{
    var strImageId = objImage.id;
    var arrTmp = strImageId.split( "_" );
    if( arrTmp.length >= 3 )
    {
        svar[ arrTmp[ 1 ] - 1 ] = arrTmp[ 2 ];
    }
    else
    {
        alert( "feil" );
        return;
    }
    swapImage( objImage.id );
   
}
function swapImage( strImageId )
{
    var arrTmp = strImageId.split( "_" );
    var intQuestion = arrTmp[ 1 ];
    var intAnswer    = arrTmp[ 2 ];
    var intSubQuestion = ( arrTmp[ 3 ] ? arrTmp[ 3 ].split(":")[0] : -1 );

    var strImageIdEnd = "";
    if( intSubQuestion > -1 )
    {
        strImageIdEnd = "_" + intSubQuestion
        var arrSubQuestions = strImageId.split( ":" );
        strImageIdEnd += ":" + arrSubQuestions[1];
    }
    var objGreenImage = document.getElementById( "spm_" + intQuestion + "_0" + strImageIdEnd );
    var objRedImage = document.getElementById( "spm_" + intQuestion + "_1" + strImageIdEnd );
    var objParentGreenImage = ( intSubQuestion > -1 ? document.getElementById( "spm_" + intQuestion + "_0" ) : null );
    var objParentRedImage = ( intSubQuestion > -1 ? document.getElementById( "spm_" + intQuestion + "_1" ) : null );
   
    setImages( objGreenImage, objRedImage, intAnswer );

    if( intSubQuestion > -1 )
    {
        var intSubQuestions = strImageId.split( ":" )[1];
        var intTmpAnswer = 0;
        for( i = 0; i < intSubQuestions; i++ )
        {
            var tmpRedImage = document.getElementById( "spm_" + intQuestion + "_1_" + ( i + 1 ) + ":" + intSubQuestions );

            if( tmpRedImage.src.indexOf( "red.gif" ) > -1 )
            {
                intTmpAnswer = 1;
                break;
            }
        }
        setImages( objParentGreenImage, objParentRedImage, intTmpAnswer );
    }
}

function setImages( objGreenImage, objRedImage, intAnswer )
{
    if( intAnswer == 0 )
    {
        objGreenImage.src = "green.gif";
        objRedImage.src = "grey.gif";
    }
    else
    {
        objGreenImage.src = "grey.gif";
        objRedImage.src = "red.gif";
    }
}

</Script>
</head>
<body topmargin="0" leftmargin="0">

    <table>
        <tr>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_1_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg1Green">
                            <img id="spm_1_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg1Red">
            </td>
        </TR>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_2_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg2Green">
                            <img id="spm_2_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg2Red">
            </td>
        </tr>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_3_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg3Green">
                            <img id="spm_3_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg3Red">
            </td>
        </tr>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_4_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg4Green">
                            <img id="spm_4_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg4Red">
            </td>
        </tr>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_5_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg5Green">
                            <img id="spm_5_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg5Red">
            </td>
        </tr>
<!------- UNDER SATART ---------->       
        <TR>
              <td BGCOLOR="#EAEAEA">
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_5_0_1:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5001Green">
                            <img id="spm_5_1_1:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5001Red">
            </td>
        </tr>
        <TR>
            <td BGCOLOR="#EAEAEA">
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_5_0_2:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5002Green">
                            <img id="spm_5_1_2:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5002Red">
            </td>
        </tr>
        <TR>
            <td BGCOLOR="#EAEAEA">
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_5_0_3:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5003Green">
                            <img id="spm_5_1_3:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5003Red">
            </td>
        </tr>

<!------- UNDER SLUT -------->
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_6_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg6Green">
                            <img id="spm_6_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg6Red">
            </td>
        </tr>
        <tr>
            <td>
                <input type="submit" onclick="Vis();">
            </td>
        </tr>
    </table>

</body>
</html>

/nute
Avatar billede qurzyx Nybegynder
18. februar 2004 - 13:50 #6
Sygt... Det virker, dog melder den fejl når jeg trykker på submit...
Avatar billede nute Nybegynder
18. februar 2004 - 13:52 #7
det er fordi jeg fjernet funktionen "Vis" læg til:

function Vis()
{
    alert( svar );
}

i din <script> blok, så fungere det

/nute
Avatar billede qurzyx Nybegynder
18. februar 2004 - 13:54 #8
Du er meget dygtig, tak for din hjælp.. Send et svar, så du kan få dine point
Avatar billede nute Nybegynder
18. februar 2004 - 14:01 #9
"et svar"
Avatar billede nute Nybegynder
18. februar 2004 - 14:01 #10
ups
Avatar billede qurzyx Nybegynder
18. februar 2004 - 14:06 #11
Hov... Nu testede jeg det lige.. Når man vælger at svare på et underspørgsmål så bliver det overordnet det som man har valgt.. Perfekt, men hvad med omvendt.. Altså når man trykker nej på det overordnet, så bliver alle de underordnet spørgsmål det svar man har givet
Avatar billede nute Nybegynder
18. februar 2004 - 16:00 #12
<html>
<head>
<script>
var svar=new Array(6);

function answerQuestion( objImage )
{
    var strImageId = objImage.id;
    var arrTmp = strImageId.split( "_" );
    if( arrTmp.length >= 3 )
    {
        svar[ arrTmp[ 1 ] - 1 ] = arrTmp[ 2 ];
    }
    else
    {
        alert( "feil" );
        return;
    }
    swapImage( objImage.id );
   
}
function swapImage( strImageId )
{
    var arrTmp                 = strImageId.split( "_" );
    var intQuestion         = arrTmp[ 1 ];
    var intAnswer            = arrTmp[ 2 ];
    var intSubQuestion         = ( arrTmp[ 3 ] ? arrTmp[ 3 ].split(":")[0] : -1 );
    var arrSubQuestions     = getSubQuestions( intQuestion );

    var strImageIdEnd = "";
    if( intSubQuestion > -1 )
    {
        strImageIdEnd = "_" + intSubQuestion
        var arrSubQuestions = strImageId.split( ":" );
        strImageIdEnd += ":" + arrSubQuestions[1];
    }
    var objGreenImage = document.getElementById( "spm_" + intQuestion + "_0" + strImageIdEnd );
    var objRedImage = document.getElementById( "spm_" + intQuestion + "_1" + strImageIdEnd );
    var objParentGreenImage = ( intSubQuestion > -1 ? document.getElementById( "spm_" + intQuestion + "_0" ) : null );
    var objParentRedImage = ( intSubQuestion > -1 ? document.getElementById( "spm_" + intQuestion + "_1" ) : null );
   
    setImages( objGreenImage, objRedImage, intAnswer );

    if( arrSubQuestions && arrSubQuestions.length > 0 )
    {
       
        for( var i = 0; i < arrSubQuestions.length; i++ )
        {
            setImages( arrSubQuestions[i], arrSubQuestions[++i], intAnswer );
        }
    }
    if( intSubQuestion > -1 )
    {
        var intSubQuestions = strImageId.split( ":" )[1];
        var intTmpAnswer = 0;
        for( i = 0; i < intSubQuestions; i++ )
        {
            var tmpRedImage = document.getElementById( "spm_" + intQuestion + "_1_" + ( i + 1 ) + ":" + intSubQuestions );

            if( tmpRedImage.src.indexOf( "red.gif" ) > -1 )
            {
                intTmpAnswer = 1;
                break;
            }
        }
        setImages( objParentGreenImage, objParentRedImage, intTmpAnswer );
    }
}

function getSubQuestions( intQuestionId )
{
    var arrImages = document.getElementsByTagName( "img" );
    var arrSubQuestions = new Array();
    for( var i = 0; i < arrImages.length; i++ )
    {
        var strImageId = arrImages[i].id;
        var strTestIdNo = "spm_" + intQuestionId + "_0_";
        var strTestIdYes = "spm_" + intQuestionId + "_1_";
       
        if( ( strImageId.indexOf( strTestIdNo ) > -1 || strImageId.indexOf( strTestIdYes ) > -1 ) && strImageId.indexOf( ":" ) > -1 )
        {
            arrSubQuestions[arrSubQuestions.length] = arrImages[i];
        }
    }
    return arrSubQuestions;
}

function setImages( objGreenImage, objRedImage, intAnswer )
{
   
    if( intAnswer == 0 )
    {
        objGreenImage.src = "green.gif";
        objRedImage.src = "grey.gif";
    }
    else
    {
        objGreenImage.src = "grey.gif";
        objRedImage.src = "red.gif";
    }
}
function Vis()
{
    alert( svar );
}
</Script>
</head>
<body topmargin="0" leftmargin="0">

    <table>
        <tr>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_1_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg1Green">
                            <img id="spm_1_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg1Red">
            </td>
        </TR>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_2_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg2Green">
                            <img id="spm_2_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg2Red">
            </td>
        </tr>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_3_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg3Green">
                            <img id="spm_3_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg3Red">
            </td>
        </tr>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_4_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg4Green">
                            <img id="spm_4_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg4Red">
            </td>
        </tr>
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_5_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg5Green">
                            <img id="spm_5_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg5Red">
            </td>
        </tr>
<!------- UNDER SATART ---------->       
        <TR>
              <td BGCOLOR="#EAEAEA">
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_5_0_1:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5001Green">
                            <img id="spm_5_1_1:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5001Red">
            </td>
        </tr>
        <TR>
            <td BGCOLOR="#EAEAEA">
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_5_0_2:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5002Green">
                            <img id="spm_5_1_2:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5002Red">
            </td>
        </tr>
        <TR>
            <td BGCOLOR="#EAEAEA">
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_5_0_3:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5003Green">
                            <img id="spm_5_1_3:3" src="grey.gif" onClick="answerQuestion( this );" name="Spg5003Red">
            </td>
        </tr>

<!------- UNDER SLUT -------->
        <TR>
            <td>
                Hej hej:&nbsp;&nbsp&nbsp;<img id="spm_6_0" src="grey.gif" onClick="answerQuestion( this );" name="Spg6Green">
                            <img id="spm_6_1" src="grey.gif" onClick="answerQuestion( this );" name="Spg6Red">
            </td>
        </tr>
        <tr>
            <td>
                <input type="button" onclick="Vis();">
            </td>
        </tr>
    </table>

</body>
</html>
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