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

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

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

olebole
olebole (220.268 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.790 point)
Meeeeeeen....

Hvorfor virker det ikke i Safari?

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

olebole
olebole (220.268 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.790 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.268 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.790 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.268 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.790 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.268 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

Adobe acrobat XI

Oprettet den 22. april 2015 kl. 07.35
Djinn_DK giver 30 point for svar | Giv et svar »

Hvordan gemmer jeg data fundet med javascript

Oprettet den 17. april 2015 kl. 11.42
sth giver 100 point for svar | Giv et svar »

Find fejlen i scriptet

Oprettet den 16. april 2015 kl. 21.51
Kast20 giver 30 point for svar | Giv et svar »






Computerworld

Teaser billede

KMD klar til at masse-ansætte: Mangler lige nu 150 nye it-folk

KMD står lige nu og mangler 150 nye medarbejdere til helt konkrete opgaver og projekter. Men it-giganten har svært ved at skaffe dem.

CIO

Teaser billede

"Jeg har været et dyrt bekendtskab for KMD, men jeg tænker også, at KMD har fået en del ud af det"

Interview: Rasmus Theede står i spidsen for Danmarks eneste sikkerhedscenter - et center som har kostet KMD et to-cifret million-beløb. Computerworld har besøgt centeret i Ballerup til en...

Channelworld

Teaser billede

Millionerne ruller ind hos nystartet dansk it-firma

Salg af standard-hardware er en guldgrube for it-forhandleren eGiss, som på mindre end to år har skabt en omsætning på mere end 200 millioner kroner.

White paper

Teaser billede

Sådan vælger du det bedste CMS

Læs her hvordan du vælger det CMS til web der både fra marketingafdelingens og udviklernes perspektiv giver den bedste kundeoplevelse.



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