14. december 2001 - 13:56Der er
49 kommentarer og 2 løsninger
if ...else?
Kan man lave et script, som sender en til en bestemt side, når man indtaster korrekt tal i en formular, og som sender en til en anden side, når alle andre (ugyldige) talværdier indtastes i formularen. Det må vel være noget med betingelsen \"if...else\" eller hva\'
Det drejer sig om tallene fra 1-99. Jeg vil gerne lave et system, hvor mine elever hører et tal mellem 1 og 99, indtaster tallet i en form, og derefter får at vide, om svaret er rigtigt eller forkert.
Synes godt om
Slettet bruger
14. december 2001 - 16:25#9
Så funktionen skal tjekke om tallet er mellem 1 og 99? I så fald:
<script> function tjekTal(val) { val = parseInt(val); if (val == \"NaN\" || val < 1 || val > 99) return false; return true; } </script>
Når jeg bruger kjollers script, så returneres tallet i url\'en, men jeg kan ikke få det til at skifte til en anden side. hvorfor? Ang. nikolajdus script. Hvis jeg f.eks. vil teste tallet 5, hvor skriver jeg så det i scriptet?
Da du formodentligt gern vil gå til en specifik side kunne du kalde dem:
1.html 2.html 3.html
Så kan du kalde dem ved at skrive det pågældende tal i feltet.
Så skal du bare lige rette det til den her:
self.location.href=hvad+\".html\"
Anyway er der måske en smartere måde at gøre det hele på, men så må du forklare lidt mere om opgaven. Som det er nu vil alle tal jo gå til samme side og det holder jo ikke når du siger 5 og de taster 8 og alligevel kommer til samme side :))
Nu er det ved at blive en spændende opgave, så jeg kan lige så godt prøve at forklare det hele fra bunden. Jeg forestiller mig, at jeg skal lave 99 htmlsider. En side for hvert tal fra 1-99. Siderne skal indlæses i tilfældig rækkefølge (random). Når f.eks side 5 indlæses, skal en lydfil afspille tallet 5. Eleven skal så skrive 5 i et formfelt. Hvis svaret er rigtigt skal det script vi taler om sende eleven til næste talside osv. Hvis svaret er forkert, skal eleven sendes til en \"Forkert svar side - prøv igen\" Mon det kan lade sig gøre? Jeg ved godt, at jeg sandsynligvis skal ind og ændre scriptet på alle 99 sider, og at 99 sider er mange, så hvis en af jer har den helt geniale og sidebesparende løsning, så vil jeg blive meget glad. mvh. Riishøj
Synes godt om
Slettet bruger
15. december 2001 - 11:07#16
Du kan jo vælge at have alle 99 lyd-filer på én side og så afspille en tilfældig for hver test. Dette ville kun kræve en enkelt html-side, men til gengæld en %¤&%¤#\"¤#\" masse <embed>-tags. Er du frisk på det, eller er du mere til de 99 sider?
Men vil en sådan side med 99 lydfiler ikke blive meget langsom at indlæse?
Synes godt om
Slettet bruger
15. december 2001 - 12:45#19
Jo, men hvis de ligger på din egen computer, så gør det ikke så meget. Jeg har designet en hel test til dig, tjek her (lyd-filerne hedder \"lyd1.wav\", \"lyd2.wav\", o.s.v.):
<html> <head> <title>Den store tal-test!</title> <script> antalTal = 99; //Antallet af tal-lyde antalRigt = 10; //Så mange korrekte gæt, man skal have, før man vinder!
alert(\"Greetings, my friend!\\n\\nOm et øjeblik vil der blive afspillet et tal fra 1 til \" + antalTal + \"!\\nDet er så din opgave at høre godt efter og skrive det tal i boksen her på siden!\\n\\nEr du klar?\");
tilf = 0; rigt = 0;
function tf() { temp = Math.floor(Math.random() * antalTal) + 1; if (temp == tilf) tf(); return temp; }
Jeg har prøvet dit testprogram, og det ser ud til at det bare lige er det jeg skal bruge. Men nu kommer næste problem. Når jeg så har indspillet de 99 lydfiler og kaldt dem 1.wave, 2.wave osv. hvad gør jeg så. Skal de bare ligge i mappen sammen med siden med scriptet eller hva\'. Som du nok har fornemmet er jeg ikke den store ørn ud i javascript.
P.S. Læg mærke til min random-funktion \"tf()\". Den vælger et tilfældigt tal imellem 1 og værdien af \"antalTal\", men den vælger aldrig det samme tal to gange i træk!
2 gange i træk?? Er det det samme som \"aldrig det samme tal 2 gange indenfor de 100\"??
Synes godt om
Slettet bruger
15. december 2001 - 18:02#25
Ah, ja! Men det kommer til sin ret, hvis han vil teste for et tal mellem 1-5 eler noget lignende! Desuden så eksisterer der jo faktisk en chance for at få det samme tal to gange indenfor 100, så lidt gavner den vel... Men du har ret, det var vel også kun et *sjældent* tilfælde af programmeringspral! :)
Synes godt om
Slettet bruger
15. december 2001 - 18:05#26
riishoj>> Forresten skal lydfilerne ligge i samme mappe som siden, hvis du ikke vil ind at ændre i mit script!
Kan du ikke vise hvad jeg skriver i (\"<embed src= hvis mine lydfiler hedder 1.wav, 2.wav, 3.wav, 4.wav, 5.wav., Hvis jeg har 99 lydfiler, skal alle filnavnene så skrives her?
Ligegyldig om jeg bruger den ene eller anden metode, så afspilles mine lydfiler. Desuden melder browseren om fejl på siden! Jeg har forstået det rigtigt, at jeg ikke skal skrive lydfilernes navne ind nogen steder i scriptet, de skal bare befinde sig i samme mappe som siden med scriptet.
Tja, det ved jeg ikke. Jeg kan bare se den gule advarselstrekant og beskeden \" der opstod en fejl på siden\" Skal jeg skrive lydfilernes navne ind i scriptet?
Der står jo i hvilken linie der er fejl. Du tvinger mig jo til at skulle lave både et par lydfiler og teste det af - Synes det er noget besværligt.
Og undskyld hvis jeg lyder lidt fornærmet, men min holdning er et eller andet sted også at folk der vil have hjælp må holde sig til. Når der går timer mellem hver indlæg så mister man helt automatisk interessen.
Specielt når spørgsmål er dårligt defineret og udvider sig løbende.
Smid siden op som den er nu og giv et link, så bliver det endnu lettere :))
Jeg har lavet ændringen og lagt den op, men jeg kan stadig ikke høre en lyd! Desuden melder den stadig fejl. Hvis du svarer mig nu, må du være et meget tålmodigt menneske!!
Ehem der er intet ændret i den version du har lagt op??
Har testet den her af og den virker fint:
<html> <head> <title>Den store tal-test!</title> <script> antalTal = 5; //Antallet af tal-lyde antalRigt = 5; //Så mange korrekte gæt, man skal have, før man vinder!
alert(\"Greetings, my friend!\\n\\nOm et øjeblik vil der blive afspillet et tal fra 1 til \" + antalTal + \"!\\nDet er så din opgave at høre godt efter og skrive det tal i boksen her på siden!\\n\\nEr du klar?\");
tilf = 0; rigt = 0;
function tf() { temp = Math.floor(Math.random() * antalTal) + 1; if (temp == tilf) tf(); return temp; }
Det er altså meget mystisk. Her kopieret ovenstående ind og lagt det op påny. Det virker bare ikke hos mig. Virker det jeg har lagt op på serveren hos dig? PS jeg har lydkort og højtaleren er tændt!!
Hvilken browser bruger du? Jeg har testet programmet med følgende:
MIE 5.0 - ingen afspilning af lyden, fejlmeddelelse, og det tæller ikke de rigtige svar.
Netscape 4.76 - ingen lyd men det tæller de rigtige svar.
Netscape 6.0 - som MIE men ingen fejlmeddelelse
Synes godt om
Slettet bruger
16. december 2001 - 17:38#42
Med IE5 virker det fint nok for mig! Men hvorfor tæller du fx \"1, 2, 3, 4, 5\" 5.wav? Er det ikke meningen, at du bare skal sige \"5\"?
Synes godt om
Slettet bruger
16. december 2001 - 17:41#43
Men NS6.2 er ikke glad for, at man afspiller \"document.lyd1\" med play()... Jeg ved ikke, hvad problematikken her skyldes. NS6.2 har åbenbart ikke den samme måde at behandle <embed>\'s på!
Jo, lydfilerne er lidt kiksede, men det er vel ikke grunden til, at jeg ikke kan få scriptet til at afspille lyden. Virker den form, som tæller antal rigtige i IE5 hos dig? Så det er altså stadig en gåde, hvorfor jeg ikke kan høre lyden. Kan det have noget at gøre med indstillingerne i min IE5?
Husets anden computer kører Windows ME og IE 5.5. Den afspiller heller ikke lydfilerne og supplerer tillige med følgende meddelelse: \"Der opstod en fejl under kørslen. Linie 20. Fejl: Objektet understøtter ikke denne egenskab eller metode\"
Synes godt om
Slettet bruger
16. december 2001 - 20:45#46
Det hele virker altså perfekt i min IE5! Både i mit eget og i dit eksempel! Men jeg flikker en ny løsning med 99 html-sider sammen til dig til i morgen eller i overmorgen, så!
Jeg er næsten helt flov over al den ravage jeg har lavet med min ide, men nu er jeg jo blevet grebet af det. Prøver at teste scriptet på mit arbejde i morgen for at se, om det virker der. Hvis det er tilfældet, skal du nok få det at vide hurtigst muligt. Det vil sandsynligvis først være efter kl. 16.
Da jeg opdaterede til IE5.5 virkede scriptet, så det var altså det der skulle til.
Mange tak for hjælpen. Håber jeg har fordelt point på retfærdig vis
Synes godt om
Ny brugerNybegynder
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.