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

VisueltDesign
VisueltDesign (6.285 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 (6.285 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 (6.285 point)
Det var lige i øjet ;-)

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

olebole
olebole (220.763 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 (6.285 point)
Meeeeeeen....

Hvorfor virker det ikke i Safari?

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

olebole
olebole (220.763 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 (6.285 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 (220.763 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 (6.285 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 (220.763 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 (6.285 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 (220.763 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

Vent på function

Oprettet den 26. juli 2015 kl. 17.30
mik2000 giver 100 point for svar | Giv et svar »

fejl ved flere javascript

Oprettet den 24. juli 2015 kl. 20.56
offer giver 200 point for svar | Giv et svar »

array

Oprettet den 18. juli 2015 kl. 21.52
set giver 100 point for svar | Giv et svar »






CIO

Teaser billede

Giver du ERP-systemet skylden for dårlig leveringsservice?: Her er den virkelige skurk

Klumme: ERP-systemet får ofte skylden for manglende leveringsservice, men det er sjældent fair. I stedet skal man analysere flowet i virksomheden, og det er der er mange penge i.

Comon

Teaser billede

Test: Netflix, HBO Nordic, YouBio og ViaPlay - hvem vinder?

Vi har testet Netflix, HBO Nordic, YouBio og ViaPlay, men hvilken af de fire streamingtjenester er bedst? Få dommen her.

Channelworld

Teaser billede

Udenlandske it-giganter nupper danske e-handels-kunder

Amazon og andre udenlandske mega-butikker har allerede godt fat i de danske online-kunder. Det lægger pres på de danske web-butikker.

White paper

Teaser billede

Ny netværksarkitektur til BYOD

Mange og forskellige mobile enheder på netværket kræver en ny netværksarkitektur.



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