Mun pitäis tehdä sellanen lomake/sivu, joka tarkistais monivalintakysymyksen vastauksen, jonka käyttäjä antaa. Oon vaan tässä päivän pähkänny ja ei tuu mitään. Javascriptillä yritin ja sit mietin applettia mut ei onnistu. Jos jollain olis jotain hyvää vinkkiä tai neuvoja, mitä vaan, niin oisin tuhannesti kiitollinen!!
Monivalintatehtävän tarkistus
toivoton tapaus
4300
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
Elikkäs itse olen paljonkin tehnyt tuollaiset hommat Perlillä, mutta saahan sen tietysti millä tahansa.
Eli ekaks... miten sä tarkistat... onko sulla oikee vastaus jossain tiedostossa vai onko tämä joku harkkatehtävä, että sen voi kovakoodata sinne lomakkeen kanssa samaan paikkaan?
Jos seuraava oletus ei osu sulle, niin sitten suosittelen JavaScriptiä.... JavaScriptin kanssa sun pitäis laittaa normaalin submit-painikkeen tilalle vaikka normaali buttoni, jolle asetat onClick-eventin, joka ottaa vastaan lomakkeen tiedot ja tarkistaa sieltä saadut jutskat. Katselen viikonloppuna uudestaan tätä palstaa ja vastailen sitten uudelleen jos tarvis vaatii..
Oletan nyt kuitenkin, että sulla on jossain filessä (vaikka nyt vastaus.fl) seuraavanlainen
sisältö:
mv1 a
mv2 b
mv3 a
mv4 c
Missä toi vasen sarake on monivalintatehtävän numero ja oikea sarake (vaikka nyt tabulaattorilla erotettuna) on se oikea vastaus.
Niin siihen formiin kun laitat esim:
sitten se valintajuttu (muista laittaa sille elementille nimi tässä tapauksessa oletan, että ekalle monivalinnalle on mv1, tokalle mv2 jne.)
ja sitten perl-fileseen laitat jotakuinkin näin (sorry, syntaksi saattaa olla pielessä, kun ei ole perl-tulkkia nyt käsillä...)
#! /usr/bin/perl
use CGI qw(:standard);
use strict;
open(FILE, "vastaus.fl");
my @Sisalto = ;
close FILE;
my @temp = ();
my $tmp = "";
foreach (@Sisalto)
{
@temp = split(/ /, $_);
$tmp = param("$temp[0]");
if ($tmp eq $temp[1]){
print "ululu... oikein oli";
}
}
Tarkoitus on todellaki tehdä hyvin yksinkertainen homma, eli nimenomaan kovakoodata se hässäkkä samaan paikkaan lomakkeen kans. Javascript sopis mun mielestä tähän mainiosti, mut nyt vaan tökkii jotenki, ei raksuta. Mä en nyt ymmärrä sitä miten se sen valinnan tarkistais... Olen siis todella aloittelija tän homman kans :)
Moip!
Elikkä se formi jotenkin tyyliin tämä:
Ja sitten JavaScriptiin vaikka näin...
Tuossa kun on toi valinta[1], niin muista, että alkioiden indeksointi alkaa 0:sta eli tässä tapauksessa se tarkoittaa, että on valittu järjestyksessä toinen "valinta" niminen radio-valinta...
function ulu()
{
if (document.mun_lomake.valinta[1].checked){
alert("valitsit b:n");
}else{
alert("väärin meni.. valitsit a:n tai c:n");
}
}
------------------------------
Vielä hieman... Eli ton JavaScriptin lätkäset siihen html:n kanssa samaan fileen. Eli vaikka näin:
mun otsikko
...
...
...
-----------------------------------
kokonaisuudessaan näyttääpi siis tältä
vaihtoehto a
vaihtoehto b
vaihtoehto c
Kiitos! Laitanpa korvan taakse tuon. Tein sitten vloppuna homman applettina, mut toi olis kyllä varmaan fiksumpi ratkaisu.