Avatar billede senj Nybegynder
07. november 2000 - 10:29 Der er 9 kommentarer og
1 løsning

Check form value

Hvad er der galt med følgende stykke kode?

<html>
<head><title>Untitled</title></head>

<script language=\"JavaScript\">

var formnavne = new Array(\"fnavn\", \"enavn\", \"adr\", \"bynavn\", \"pnr\");

function checkform()
{
for (var i = 0; i < formnavne.length; i++)
{
    if(eval(document.bestilform.formnavne[i].value==\"\"))
    {
        alert(\"Alle felter skal være udfyldte før din bestilling kan godkendes\");
        return false;
    }
  else
    {
    document.bestilform.submit();
    return true;
    }
}
}

</script>

<body>

                <form name=\"bestilform\" method=\"get\" action=\"gem_bestilling.asp\">
               
                <table border=\"0\" width=\"700\" align=\"center\">
                <tr>
                <td width = \"100\">Fornavn</td><td><input type=\"text\" name=\"fnavn\" value=\"\" size=\"37\"></td>
                </tr>
                <tr>
                <td width = \"100\">Efternavn</td><td><input type=\"text\" name=\"enavn\" value=\"\" size=\"37\"></td>
                </tr>
                <tr>
                <td width = \"100\">Adresse</td><td><input type=\"text\" name=\"adr\" value=\"\" size=\"37\"></td>
                </tr>
                <tr>
                <td width = \"100\">By</td><td><input type=\"text\" name=\"bynavn\" value=\"\" size=\"37\"></td>
                </tr>
                <tr>
                <td width = \"100\">Postnr</td><td><input type=\"text\" name=\"pnr\" value=\"\" size=\"8\"></td>
                </tr>
                </table>
               
                <table border=\"0\" width=\"700\" align=\"center\">
                <tr>               
                <td width = \"350\">Ja tak</td><td><input type=\"checkbox\" name=\"valg\" value=\"ok\"></td>
                </tr>                                                       
                </table>
               
                <table border=\"0\" width=\"700\" align=\"center\">
                <tr>
                <td width = \"100\" align=\"center\"><input type = \"button\" value = \"OK\" onclick = \"checkform()\" ></td>
                </tr>
                           
                </form>
</body>
</html>
Avatar billede nixen Nybegynder
07. november 2000 - 10:31 #1
At du ikke kan smaske en reference til et objekt sammen med en streng...
\" eval(document.bestilform.formnavne[i].value \"
Avatar billede kasseper Nybegynder
07. november 2000 - 10:32 #2
du skal have denne i din form tag :
<form name=\"bestilform\" method=\"get\" action=\"gem_bestilling.asp\" onSubmit=\"return checkform()\">

ogsaa kan du slette den i din button...
Avatar billede senj Nybegynder
07. november 2000 - 10:32 #3
Jo tak - men skal jeg så lave et array bestående af objekter istedet for strenge - og hvordan?
Avatar billede kasseper Nybegynder
07. november 2000 - 10:34 #4
øhh ja nixen har ret
Avatar billede senj Nybegynder
07. november 2000 - 10:36 #5
Hvis jeg fjerne \"\" i mit array får jeg følgende fejl: \'fnavn\' er ikke defineret!
Avatar billede nixen Nybegynder
07. november 2000 - 10:38 #6
nej, men du kan lave et array af form-objekter ved f.eks.
formnavne = new Array(document.bestilform.fnavn, document.bestilform.enavn);
osv.osv.. Men det skal så bare først gøres efter onload :)

Avatar billede senj Nybegynder
07. november 2000 - 10:57 #7
< nixen > så kom det da til at virke, men jeg synes ikke det er den bedste løsning. Findes der en anden? Om ikke andet så skal du have nogle point, så svar lige på denne!
Avatar billede nixen Nybegynder
07. november 2000 - 11:05 #8
joh, der er da document.formNavn.elements som er en collection (nogenlunde det samme som et array) indeholdende alle formens input-elementer.
Så kan du:
var fe = document.formNavn.elements;
for (var i=0; i<fe.length; i++) {
  if fe[i].value==\"\"
}
osv..
Den virker fra IE 3.02 så jeg vil tro at den også fungerer i NS, men det har jeg ikke testet..
Avatar billede senj Nybegynder
07. november 2000 - 11:07 #9
Tak for hjælpen - vil straks kigge på den anden løsning.
Avatar billede tipper Nybegynder
07. december 2000 - 13:11 #10
WORD UP SENJ....NU MÅ DU FANDME.....
HVAD HELEVEDE LAVER DU I JAVASCRIPT; BØØØSSSSEEEE
SKRIV DOG I VBSCRIPT, DET ER KONGESPROGET...
GET REAL...STAY TUNED...

TAG DIG SAMMEN, OK?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester