Avatar billede leif Seniormester
20. juli 2006 - 12:26 Der er 19 kommentarer og
1 løsning

Submitter alligevel

Hej,

Jeg bruger følgende til at tjecke om et felt indeholder et tal og om der kun står tal, det fungerer som sådan også men den submitter alligevel formen selvom jeg får fejlen.

<script language="JavaScript">
    function validateNR(nr)
    {
        if (nr == '')
        {
            alert('Der skal indtastes et Nummer');
            form.nr.focus();
            event.returnValue = false;
        }

        if (isNaN(nr))
        {
            alert ("Der må kun stå tal i feltet");
            form.nr.focus();
            event.returnValue = false;
        }
        else
        {
            event.returnValue = true;
        }
    }
</script>


Hvad er galt ?

På forhånd tak.

/Leif
Avatar billede thesurfer Nybegynder
20. juli 2006 - 13:41 #1
Jeg ved ikke lige hvilket sprog du kommer fra, men det er alt hvad du behøver:

return false;

Eksempel:

        if (nr == '')
        {
            alert('Der skal indtastes et Nummer');
            form.nr.focus();
            return false;
        }
Avatar billede thesurfer Nybegynder
20. juli 2006 - 13:42 #2
Jeg er ikke helt sikker, men jeg tror at det skal være: document.FormensNavn.ElementsNavn

Eksempel:

document.minform.nr.focus();
Avatar billede thesurfer Nybegynder
20. juli 2006 - 13:48 #3
I hvilket sammenhæng bruger du koden? - Vis noget kode..
Avatar billede leif Seniormester
20. juli 2006 - 14:04 #4
Jeg bruger sammenhængen i en Form med et felt som hedder nr
Avatar billede leif Seniormester
20. juli 2006 - 14:06 #5
Nu har jeg prøvet med:
<script language="JavaScript">
    function validateNR(nr)
    {
        if (nr == '')
        {
            alert('Der skal indtastes et Nummer');
            document.form.nr.focus();
            return false;
        }

        if (isNaN(nr))
        {
            alert ("Der må kun stå tal i feltet");
            document.form.nr.focus();
            return false;
        }

    }
</script>
Avatar billede leif Seniormester
20. juli 2006 - 14:07 #6
Og min submit knap er: <input type="submit" value="Send" name="B1" onclick="validateNR(this.form.nr.value)">
Avatar billede leif Seniormester
20. juli 2006 - 14:08 #7
Jeg vil gerne have 1 fejl hvis feltet er tomt og 1 anden fejl hvis der står bogstaver i feltet
Avatar billede thesurfer Nybegynder
20. juli 2006 - 14:30 #8
Sæt kaldet i onsubmit: <form ... onsubmit="validateNR(this.nr.value)">

og ganske almindeligt: <input type="submit" value="Send" name="B1">
Avatar billede leif Seniormester
20. juli 2006 - 14:31 #9
Den submitter stadig selv om jeg mangler at skrive noget i feltet !
Avatar billede thesurfer Nybegynder
20. juli 2006 - 14:31 #10
Jeg mener at "form" er et reserveret ord.. derfor:

document.minform.nr.focus();

og

<form name="minform" ... onsubmit="validateNR(this.nr.value)">
Avatar billede leif Seniormester
20. juli 2006 - 14:35 #11
Stadig med submit selvom den er tom.
Avatar billede leif Seniormester
20. juli 2006 - 14:35 #12
Jeg får godt nok Alertboksen, men når jeg så trykker OK kommer jeg til min side hvor jeg sætter data ind i databasen
Avatar billede thesurfer Nybegynder
20. juli 2006 - 14:36 #13
Det er mig der sidder og sover (bogstavligt talt)..

Det skal være onsubmit="return validateNR(this.nr.value)"..

Eksempel:

<script type="text/JavaScript">
    function validateNR(nr)
    {
        if (nr == '')
        {
            alert('Der skal indtastes et Nummer');
            document.minform.nr.focus();
            return false;
        }

        if (isNaN(nr))
        {
            alert ("Der må kun stå tal i feltet");
            document.minform.nr.focus();
            return false;
        }

    }
</script>

<form name="minform" method="get" onsubmit="return validateNR(this.nr.value)">
<input type="text" name="nr">
<input type="submit" name="B1" value="Kontroller">
</form>
Avatar billede leif Seniormester
20. juli 2006 - 14:38 #14
Yes, der var den.

Kom med et svar.
Avatar billede thesurfer Nybegynder
20. juli 2006 - 14:39 #15
Nu sender jeg selve elementet "nr" med, og ikke værdien.. Så tilføjer jeg ".value til min IF-sætning.
Så kan jeg nøjes med nr.focus();

<script type="text/JavaScript" language="JavaScript">
    function validateNR(nr)
    {
        if (nr.value == '')
        {
            alert('Der skal indtastes et Nummer');
            nr.focus();
            return false;
        }

        if (isNaN(nr.value))
        {
            alert ("Der må kun stå tal i feltet");
            nr.focus();
            return false;
        }

    }
</script>

<form method="get" onsubmit="return validateNR(this.nr)">
<input type="text" name="nr">
<input type="submit" name="B1" value="Kontroller">
</form>
Avatar billede thesurfer Nybegynder
20. juli 2006 - 14:39 #16
Svar :-)
Avatar billede leif Seniormester
20. juli 2006 - 14:41 #17
Jeg tror bare jeg holder mig til den første jeg fik til at virke.
Avatar billede leif Seniormester
20. juli 2006 - 14:44 #18
Sikkert noget du har på sidebenet ? Kan du huske om jeg kan få nr i focus uden at gøre det via <body onload=""> ?
Avatar billede thesurfer Nybegynder
20. juli 2006 - 14:51 #19
Jeg synes ikke at have set i ren HTML.. kun i JavaScript med ".focus()".

Hvis jeg skulle falde over det, skal jeg nok opdatere dette spørgsmål.

- Takker for points.
Avatar billede thesurfer Nybegynder
20. juli 2006 - 14:57 #20
W3C (der står bag HTML standarden) skriver følgende på http://www.w3.org/TR/html4/interact/forms.html#h-17.11 :

17.11 Giving focus to an element

In an HTML document, an element must receive focus from the user in order to become active and perform its tasks. For example, users must activate a link specified by the A element in order to follow the specified link. Similarly, users must give a TEXTAREA focus in order to enter text into it.

There are several ways to give focus to an element:
* Designate the element with a pointing device.
* Navigate from one element to the next with the keyboard. The document's author may define a tabbing order that specifies the order in which elements will receive focus if the user navigates the document with the keyboard (see tabbing navigation). Once selected, an element may be activated by some other key sequence.
* Select an element through an access key (sometimes called "keyboard shortcut" or "keyboard accelerator").

Jeg ved ikke lige hvad de mener med "Designate the element with a pointing device.".. resten siger ikke at det er muligt.. men det siger heller ikke at det er umuligt.. eller noget i den stil.. :-)
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