[Javascript] Checkbox validation

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • EMWEEE
  • Registratie: Juli 2010
  • Laatst online: 30-11-2024
Beste Tweakers,

Op het moment ben ik bezig met het opzetten van een Capitve Portal op een Pfsense box. Op deze captive portal dienen gebruikers in te loggen met een eerder verstrekte account.
Nu heb ik op de captive portal ook een user agreement geplaatst en wilde een checkbox plaatsen welke gebruikers dienen aan te vinken.

Ik ben totaal niet thuis is deze meuk en na heel wat gezocht te hebben op internet zonder resultaat vraag ik jullie maar op hulp.

Hieronder de code wat ik tot zo ver heb. Op dit moment wordt de checkbox compleet genegeerd.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script type="text/javascript">
      function CheckBoxesValidations()
      {
         if(document.getElementById('checkbox').checked == false)
         {
            alert("Please read and accept the User agreement to proceed!");
            return false;
         }
         else
            return true;
      }
     </script>

<form method="post" action="$PORTAL_ACTION$">
            <a_white>Gebruikersnaam</a_white>
                <input name="auth_user" type="text" style="width:145px"><br/>
                <a_white>Wachtwoord</a_white>
                <input name="auth_pass" type="password" style="width:145px"><br/>
                <input id="checkbox" type="checkbox"/><a>ACCEPT</a>
                <input name="redirurl" type="hidden" value="$PORTAL_REDIRURL$">
                <input name="accept" type="submit" value="Continue">
                </form>

Acties:
  • 0 Henk 'm!

  • Copyman
  • Registratie: Januari 2001
  • Laatst online: 23:03

Copyman

Dode muis

Je moet de functie natuurlijk nog wel aan het submit event van het formulier hangen. ;)

Zou simpelweg zo kunnen:
HTML:
1
<form method="post" action="foo.php" onsubmit="return CheckBoxesValidations();">


Of met onsubmit (vergeet niet je formulier een ID te geven):
JavaScript:
1
document.getElementById('login-form').onsubmit = CheckBoxesValidations;


Of met onsubmit (anonymous function):
JavaScript:
1
2
3
4
5
6
document.getElementById('login-form').onsubmit = function() {
    if(!document.getElementById('checkbox').checked) {
        alert('Please read and accept the user agreement to proceed!');
        return false;
    }
}


Of lees je eens in over addEventListener, 2, 3

offtopic:
Enne, doe eens <label> gebruiken. ;)

Vergeet ik daar toch bijna het required attribute. Afhankelijk van je browser support zou je die ook nog kunnen gebruiken. ;)

[ Voor 12% gewijzigd door Copyman op 25-02-2012 19:39 ]

Zeer belangrijke informatie: Inventaris


Acties:
  • 0 Henk 'm!

  • EMWEEE
  • Registratie: Juli 2010
  • Laatst online: 30-11-2024
Bedankt Copyman.

Het submit event erbij gedaan en werkt nu zoals het hoort.