home | sitemap

Velden aanmelden nieuwsbrief verplicht maken

De extra gegevens die gevraagd kunnen worden bij het aanmelden voor de nieuwsbrief zijn niet verplicht. Om deze toch verplicht te maken kan met javascript bijgesprongen worden.

Door de javascript die standaard wordt aangeroepen bij het klikken op de verstuur-knop af te vangen en te vervangen met eigen javascript kunnen de velden voor verzenden gecontroleerd worden.

Plaats onderstaande javascript in een apart javascript bestand en link dit mee:

function checkSubscribeForm() {
  // de velden die verplicht zijn, pas aan indien gewenst
  var fields = ['email', 'lastname', 'company', 'tel'];
  // we gaan gebruik maken van variabelen en functies uit de standaard javascript
  // die het cms beschikbaar stelt: js/support.js
  gValid = true; // geeft aan dat het formulier initieel okay is
  gAlert = ''; // geeft aan dat er geen foutmelding is
  for (var i = 0; i < fields.length; i++) {
    var elem = document.getElementById(fields[i]);
    // functie uit support.js: als het element elem geen waarde heeft, dan wordt
    // gValid = false
    // gAlert = 'Dit is een verplicht veld.'
    // krijgt het veld de focus
    // wordt de achtergrond lichtrood
    MarkElement(elem, elem.value, "Dit veld is verplicht.");
  }
  
  if (!gValid) {
    // er zijn 1 of meerdere velden niet ingevuld, toon de foutmelding
    if (gAlert) alert(gAlert);
  } else {
    // alles okay, verstuur het formulier
    register('send');
  }
  return false;
}

function overruleSubmit() {
  // haal de verstuur knop op
  var sendButton = document.getElementsByName("send");
  // als knop bestaat, dan...
  if (sendButton) {
    // wijzig te aan te roepen functie als men op de knop klikt
    sendButton[0].onclick = checkSubscribeForm;
  }
}

// alleen als we op de aanmeldpagina staan, dan Verstuur-knop afvangen
if (/register.cgi/.test(location.href)) {
  AddToInitArray(overruleSubmit);
}