Oprettet man. d. 14. januar 2013 kl. 09:35:59

VisueltDesign
VisueltDesign (5.030 point. Point ude: 520)


Valider form og opret svardokument

Hej eksperter

Jeg skal bruge et javascript der kan følgende:

En form bestående af eks. vis 3 tekstfelter + submit

Skal checke for at indholdet er korrekt udfyldt:
eks. vis "formfelt1" skal være udfyldt med ordet "ordnung", "formfelt2" skal være "muss" og "formfelt3" skal være "sein".

Efterfølgende skal html side genereres med tilbagesvar af antal rigtige samt points: Eks.: "Du havde "antal" formfelter rigtige - det giver dig "variabel 1-3" points.

(I dette tilfælde: 1 point for 1 rigtig, 2 points for 2 osv.)

På forhånd tak.

Skrevet man. d. 14. januar 2013 kl. 13:20:32| #1

Her er en med popup:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Pop Up Point</title>
    <script type="text/javascript">
    function popUp(){
        var point=0;
        if(document.getElementById('felt1').value.toLowerCase()=="ordnung"){
            point++;
        }
        if(document.getElementById('felt2').value.toLowerCase()=="muss"){
            point++;
        }
        if(document.getElementById('felt3').value.toLowerCase()=="sein"){
            point++;
        }
    alert('Du havde '+point+' formfelter rigtige - det giver dig '+point+' points.');
    }
    </script>
</head>
<body>
    <h1>Pop Up Point</h1>
    <form name="points" action="" method="POST">
    <input type="text" id="felt1" name="felt1">
    <input type="text" id="felt2" name="felt2">
    <input type="text" id="felt3" name="felt3">
    <input type="submit" name="send" id="sendBtn" value="Send" onclick="popUp()">
    </form>
   
</body>
</html>

Skrevet man. d. 14. januar 2013 kl. 13:31:38| #2

VisueltDesign
VisueltDesign (5.030 point)
Hej Michael

Det er rigtig fint ;-) Jeg skal bruge en, der opretter helt nyt html dokument - er det til at tilpasse?

Skrevet man. d. 14. januar 2013 kl. 14:17:22| #3

I stedet for alert, kan du bruge document.write og på den måde generere et htmldokument.

Skrevet man. d. 14. januar 2013 kl. 14:24:54| #4

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Pop Up Point</title>
    <script type="text/javascript">
    function popUp(){
        var point=0;
        if(document.getElementById('felt1').value.toLowerCase()=="ordnung"){
            point++;
        }
        if(document.getElementById('felt2').value.toLowerCase()=="muss"){
            point++;
        }
        if(document.getElementById('felt3').value.toLowerCase()=="sein"){
            point++;
        }
    document.writeln("<!DOCTYPE html>");
    document.write ("<html><head><title>NEWDOCUMENT</title> </head><body><p>");   
    document.write('Du havde '+point+' formfelter rigtige - det giver dig '+point+' points.');
    document.write ("</p></body></html>");
    document.close();
    }
    </script>
</head>
<body>
    <h1>Pop Up Point</h1>
    <form name="points" action="" method="POST">
    <input type="text" id="felt1" name="felt1">
    <input type="text" id="felt2" name="felt2">
    <input type="text" id="felt3" name="felt3">
    <input type="submit" name="send" id="sendBtn" value="Send" onclick="popUp();">
    </form>
   
</body>
</html>

Skrevet man. d. 14. januar 2013 kl. 14:40:23| #5

VisueltDesign
VisueltDesign (5.030 point)
Det var lige i øjet ;-)

Skrevet man. d. 14. januar 2013 kl. 17:33:33| #6

olebole
olebole (219.508 point)
<ole>

- men husk, at brugeren selv bestemmer sit pointantal, da hun jo kan se svaret i kildekoden  *o)

/mvh
</bole>

Skrevet fre. d. 18. januar 2013 kl. 15:22:40| #7

VisueltDesign
VisueltDesign (5.030 point)
Meeeeeeen....

Hvorfor virker det ikke i Safari?

Skrevet fre. d. 18. januar 2013 kl. 17:47:10| #8

olebole
olebole (219.508 point)
#7: Forkert spørgsmål. Det korrekte spørgsmål lyder: "Hvorfor mon det virker i andre browsere end Safari og Chrome?"  =)

Scriptet giver ikke så meget mening, da submit af en form jo skal indebære et sideskift. Faktisk virker scriptet kun som forventet i Safari og Chrome.

I de to browsere overskrives dokumentet, hvorefter siden skiftes - helt som det bør ske. Hvorfor IE, Firefox og Opera så ikke gør, som de bør, kan jeg ikke svare på  =)

Skrevet fre. d. 18. januar 2013 kl. 18:25:27| #9

VisueltDesign
VisueltDesign (5.030 point)
#8: Har lavet masser af småting (med Javascript), hvor submit af en form kun resulterer i udregninger og lign. - og ikke nødvendigvis et sideskift... Det er muligt at opfinderne ikke havde de intentioner - men hvis det virker... ;-)

#4: Findes der alternativer til document.write - der åbenbart er noget hø, hvis man bruger Safari? (Jeg har Googlet det)

Skrevet fre. d. 18. januar 2013 kl. 18:36:41| #10

olebole
olebole (219.508 point)
"Har lavet masser af småting (med Javascript), hvor submit af en form kun resulterer i udregninger og lign. - og ikke nødvendigvis et sideskift"

Nej, ikke med mindre du har foretaget dig noget aktivt for ikke at få formen submittet.

document.write fungerer fint i Safari (og Chrome). Problemet med scriptet er som sagt ikke, at der ikke skrives noget ud - men at siden efterfølgende skiftes ... præcis som det bør forventes  =)

Er det en ren frontend ting, eller skal der også sendes data til en server? Hvis koden kun skal afvikles i browseren, skal der ikke være noget FORM element. Så vil scriptet give mening i IE, Firefox og Opera - og det vil også virke i Safari og Chrome

Skrevet fre. d. 18. januar 2013 kl. 18:53:21| #11

VisueltDesign
VisueltDesign (5.030 point)
#10 Se eks. vis BMI beregneren i diabetes2.dk

Er det ikke en form?

Men yes. det er en ren frontend-ting. Scriptet skal kunne afvikles off-line i browseren.

Skrevet fre. d. 18. januar 2013 kl. 18:59:48| #12

olebole
olebole (219.508 point)
Jo, det er en FORM, men den har jo ingen submitknap, hvorfor den aldrig submittes. Altså er der gjort noget aktivt for, at formen ikke skal submittes  =)

Men hvorfor overhovedet bruge et totalt overflødigt element? Når der ikke skal submittes data, giver et FORM element ikke mening ... der er intet at bruge det til  =)

Skrevet fre. d. 18. januar 2013 kl. 19:10:02| #13

VisueltDesign
VisueltDesign (5.030 point)
#12 Forstået. Men hvad gør man så, når man gerne vil have 3 indtastningsfelter, der skal valideres ift. indhold og en ny side dannes med resultatet - og det skal kunne bruges off-line?

Skrevet fre. d. 18. januar 2013 kl. 19:24:48| #14

olebole
olebole (219.508 point)
Slet FORM-elementet - det bruges ikke til noget

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Søgning på egen hjemmeside med script fra Google giver...

Oprettet den 23. november 2014 kl. 11.49
brejl giver 30 point for svar | Giv et svar »

Formular med download feature

Oprettet den 22. november 2014 kl. 18.42
kim_rechenberger giver 60 point for svar | Giv et svar »

Hjælp til jQuery

Oprettet den 19. november 2014 kl. 13.51
Kast20 giver 60 point for svar | Giv et svar »

Seneste guides

Malwarebytes version 2.0.3.1025
Find ejeren af et vilkårligt domæne
Undgå reklamerne på iPad





Computerworld

Teaser billede

Nu er det slut med Java til NemID: Her er den nye løsning

Om få dage er det helt slut med at benytte Java til NemID. Læs her, hvad der kommer til at erstatte Java-appletten.

Comon

Teaser billede

Fire lette trin: Få hastigheden tilbage i din iPhone eller iPad

Apples iOS 7 har masser af fine funktioner, men styresystemet har desværre også den uheldige sideeffekt, at det gør ældre iPhones og iPads sløve. Se her, hvordan du løser problemerne.

Channelworld

Teaser billede

Nye momsregler rammer danske it-forhandlere: Derfor bliver det noget værre bøvl

Der er ingen bagatelgrænser i de nye regler, som skal forebygge momskarruseller. En dansk it-forhandler, der sælger 50 pc'er om året, har nu fået besked på at rette ind.

White paper

Teaser billede

Bedre styring af datacentret

Asset management-løsninger fra Avocent gør det muligt automatisk at følge, vurdere, kontrollere og effektivt udnytte datacentrets aktiver.



Udgiver · © 2014 Computerworld A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger