HOE

Hoe naar huis

Menu's

Pictogrambalk Menupictogram Accordeon Tabbladen Verticale tabbladen Tabkoppen Tabbladen op volledige pagina Beweeg tabbladen Bovenste navigatie Responsieve Topnav Navigatiebalk met pictogrammen Zoekmenu Zoekbalk Vaste zijbalk Paginanavigatie Responsieve zijbalk Navigatie op volledig scherm Off-Canvas-menu Beweeg de Sidenav-knoppen Zijbalk met pictogrammen Horizontaal scrollmenu Verticaal menu Bodemnavigatie Responsieve bodemnavigatie Onderste rand navigatielinks Rechts uitgelijnde menulinks Gecentreerde menulink Menukoppelingen met gelijke breedte Vast menu Schuif de balk omlaag bij scrollen Verberg navigatiebalk op scrollen Navbar verkleinen bij scrollen Sticky Navbar Navigatiebalk op afbeelding Vervolgkeuzemenu's voor zweven Klik op vervolgkeuzelijsten Trapsgewijze vervolgkeuzelijst Vervolgkeuzelijst in Topnav Dropdown in Sidenav Vervolgkeuzelijst Resp Navbar Subnavigatiemenu Drop-up Mega-menu Mobiel menu Gordijnmenu Samengevouwen zijbalk Samengevouwen zijpaneel Paginering Paneermeel Knop groep Verticale knopgroep Sticky Social Bar Pil navigatie Responsieve koptekst

Afbeeldingen

Diavoorstelling Galerij met diavoorstelling Modale afbeeldingen Lichtbak Responsief afbeeldingsraster Afbeeldingsraster Tabblad Galerij Afbeeldingsoverlay vervagen Dia overlay afbeelding Afbeelding Overlay Zoom Titel afbeelding overlay Afbeeldingsoverlay-pictogram Afbeeldingseffecten Zwart-wit afbeelding Afbeeldingstekst Afbeeldingstekstblokken Transparante afbeeldingstekst Afbeelding op volledige pagina Formulier op afbeelding Heldenafbeelding Achtergrondafbeelding vervagen Wijzig Bg bij scrollen Afbeeldingen naast elkaar Afgeronde afbeeldingen Avatar-afbeeldingen Responsieve afbeeldingen Afbeeldingen centreren Miniaturen Rand rond afbeelding Ontmoet het team Kleverige afbeelding Een afbeelding spiegelen Schud een afbeelding Portfolio Galerij Portfolio met filtering Afbeelding zoomen Afbeelding vergrootglas Schuifregelaar voor beeldvergelijking favicon

Toetsen

Waarschuwingsknoppen Overzichtsknoppen Split-knoppen Geanimeerde knoppen Vervagende knoppen Knop op afbeelding Knoppen voor sociale media Lees meer Lees minder Knoppen laden Downloadknoppen Pil Knoppen Meldingsknop Pictogramknoppen Volgende/vorige knoppen Meer Knop in Nav Blokkeerknoppen Tekstknoppen Ronde Knoppen Scroll naar boven-knop

Formulieren

login formulier Aanmeldingsformulier Afrekenformulier Contact Formulier Sociaal inlogformulier Inschrijfformulier Formulier met pictogrammen Nieuwsbrief Gestapelde vorm Responsieve vorm Pop-upformulier Inline formulier Invoerveld wissen Nummerpijlen verbergen Tekst kopiëren naar klembord Geanimeerd zoeken Zoekknop Zoeken op volledig scherm Invoerveld in Navbar Inlogformulier in Navbar Aangepast selectievakje/radio Aangepaste selectie Tuimelschakelaar Vink selectievakje aan Caps Lock detecteren Triggerknop op Enter Wachtwoordvalidatie Toggle Zichtbaarheid wachtwoord Formulier met meerdere stappen Automatisch aanvullen Automatisch aanvullen uitschakelen Spellingcontrole uitschakelen Knop voor het uploaden van bestanden Lege invoervalidatie

Filters

Filterlijst Filtertabel Filterelementen Filter Dropdown Sorteer lijst Spell-tabel

Tafels

Zebra gestreepte tafel Middelste tafels Tafel over de volledige breedte Side-by-side tafels Responsieve tabellen Vergelijkingstabel

Meer

Video op volledig scherm Modale dozen Modaal verwijderen Tijdlijn Scroll-indicator: Voortgangsbalken Vaardigheidsbalk Bereikschuifregelaars Knopinfo Weergave-element zweven Pop-ups Opvouwbaar Kalender HTML bevat Te doen lijst Laders Sterrenclassificatie Gebruikersbeoordeling Overlay-effect Contactchips Kaarten Kaart omdraaien Profielkaart Productkaart Waarschuwingen Uitroepen Opmerkingen: Etiketten Cirkels Stijl HR Coupon Lijst groep Lijst zonder opsommingstekens Responsieve tekst Uitgesneden tekst Gloeiende tekst Vaste voettekst Kleverig element gelijke hoogte Clearfix Responsieve floats Snack bar Venster op volledig scherm Roltekening Vloeiend scrollen Verloop Bg Scroll Sticky Header Koptekst bij scrollen verkleinen Prijstabel Parallax Beeldverhouding Responsieve Iframes Wisselen van leuk/niet leuk Toggle Verbergen/Tonen Schakel donkere modus in Tekst wisselen Klasse wisselen Klasse toevoegen Klasse verwijderen Actieve klasse Boom zicht Eigenschap verwijderen Offline detectie Zoek verborgen element Webpagina omleiden Zoom zweven Flip Box Verticaal centreren Middelste knop in DIV Overgang bij zweven Pijlen vormen Download link Element op volledige hoogte Browservenster Aangepaste schuifbalk Verberg schuifbalk Schuifbalk tonen/dwingen Apparaat uiterlijk Bewerkbare rand Tijdelijke aanduiding kleur Tekst selectie kleur Kogelkleur Verticale lijn Verdelers Animeren van pictogrammen Afteltimer Schrijfmachine Binnenkort pagina Chatberichten Pop-up chatvenster Gesplitst scherm Getuigenissen Sectieteller Citaten Diavoorstelling Afsluitbare lijstitems Typische apparaatonderbrekingen Versleepbaar HTML-element JS-mediaquery's Syntaxis markeerstift JS Animaties JS-snaarlengte JS Machtsverheffen JS-standaardparameters Huidige URL ophalen Huidige schermgrootte ophalen Iframe-elementen ophalen

Website

Maak een gratis website Maak een website Een statische website maken Maak een website (W3.CSS) Een website maken (BS3) Maak een website (BS4) Maak een website (BS5) Een website maken en bekijken Een linkboom-website maken Maak een portfolio Maak een CV Maak een restaurantwebsite Maak een zakelijke website Maak een WebBook Center-website Contact Sectie Over pagina Grote kop Voorbeeldwebsite

Rooster

2-kolomsindeling 3-kolomsindeling 4-kolomsindeling Uitbreidend raster Lijstrasterweergave Gemengde kolomindeling Kolomkaarten Zig Zag-indeling Bloglay-out

Google

Google-kaarten Google-lettertypen Koppelingen van Google-lettertypen Google Analytics instellen

Converters

Gewicht omrekenen Temperatuur converteren Lengte converteren Converteer snelheid

Blog

Een baan als ontwikkelaar krijgen Word een front-end ontwikkelaar.

Hoe - Formulier met meerdere stappen


Leer hoe u een formulier maakt met meerdere stappen.


Formulierwizard - Formulier met meerdere stappen:

Register:

Naam:

Contact Info:

Verjaardag:

Inloggegevens:


Stap 1) HTML toevoegen:

Voorbeeld

<form id="regForm" action="">

<h1>Register:</h1>

<!-- One "tab" for each step in the form: -->
<div class="tab">Name:
  <p><input placeholder="First name..." oninput="this.className = ''"></p>
  <p><input placeholder="Last name..." oninput="this.className = ''"></p>
</div>

<div class="tab">Contact Info:
  <p><input placeholder="E-mail..." oninput="this.className = ''"></p>
  <p><input placeholder="Phone..." oninput="this.className = ''"></p>
</div>

<div class="tab">Birthday:
  <p><input placeholder="dd" oninput="this.className = ''"></p>
  <p><input placeholder="mm" oninput="this.className = ''"></p>
  <p><input placeholder="yyyy" oninput="this.className = ''"></p>
</div>

<div class="tab">Login Info:
  <p><input placeholder="Username..." oninput="this.className = ''"></p>
  <p><input placeholder="Password..." oninput="this.className = ''"></p>
</div>

<div style="overflow:auto;">
  <div style="float:right;">
    <button type="button" id="prevBtn" onclick="nextPrev(-1)">Previous</button>
    <button type="button" id="nextBtn" onclick="nextPrev(1)">Next</button>
  </div>
</div>

<!-- Circles which indicates the steps of the form: -->
<div style="text-align:center;margin-top:40px;">
  <span class="step"></span>
  <span class="step"></span>
  <span class="step"></span>
  <span class="step"></span>
</div>

</form>


Stap 2) CSS toevoegen:

Stijl de formulierelementen:

Voorbeeld

/* Style the form */
#regForm {
  background-color: #ffffff;
  margin: 100px auto;
  padding: 40px;
  width: 70%;
  min-width: 300px;
}

/* Style the input fields */
input {
  padding: 10px;
  width: 100%;
  font-size: 17px;
  font-family: Raleway;
  border: 1px solid #aaaaaa;
}

/* Mark input boxes that gets an error on validation: */
input.invalid {
  background-color: #ffdddd;
}

/* Hide all steps by default: */
.tab {
  display: none;
}

/* Make circles that indicate the steps of the form: */
.step {
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbbbbb;
  border: none;
  border-radius: 50%;
  display: inline-block;
  opacity: 0.5;
}

/* Mark the active step: */
.step.active {
  opacity: 1;
}

/* Mark the steps that are finished and valid: */
.step.finish {
  background-color: #04AA6D;
}

Stap 3) JavaScript toevoegen:

Voorbeeld

var currentTab = 0; // Current tab is set to be the first tab (0)
showTab(currentTab); // Display the current tab

function showTab(n) {
  // This function will display the specified tab of the form ...
  var x = document.getElementsByClassName("tab");
  x[n].style.display = "block";
  // ... and fix the Previous/Next buttons:
  if (n == 0) {
    document.getElementById("prevBtn").style.display = "none";
  } else {
    document.getElementById("prevBtn").style.display = "inline";
  }
  if (n == (x.length - 1)) {
    document.getElementById("nextBtn").innerHTML = "Submit";
  } else {
    document.getElementById("nextBtn").innerHTML = "Next";
  }
  // ... and run a function that displays the correct step indicator:
  fixStepIndicator(n)
}

function nextPrev(n) {
  // This function will figure out which tab to display
  var x = document.getElementsByClassName("tab");
  // Exit the function if any field in the current tab is invalid:
  if (n == 1 && !validateForm()) return false;
  // Hide the current tab:
  x[currentTab].style.display = "none";
  // Increase or decrease the current tab by 1:
  currentTab = currentTab + n;
  // if you have reached the end of the form... :
  if (currentTab >= x.length) {
    //...the form gets submitted:
    document.getElementById("regForm").submit();
    return false;
  }
  // Otherwise, display the correct tab:
  showTab(currentTab);
}

function validateForm() {
  // This function deals with validation of the form fields
  var x, y, i, valid = true;
  x = document.getElementsByClassName("tab");
  y = x[currentTab].getElementsByTagName("input");
  // A loop that checks every input field in the current tab:
  for (i = 0; i < y.length; i++) {
    // If a field is empty...
    if (y[i].value == "") {
      // add an "invalid" class to the field:
      y[i].className += " invalid";
      // and set the current valid status to false:
      valid = false;
    }
  }
  // If the valid status is true, mark the step as finished and valid:
  if (valid) {
    document.getElementsByClassName("step")[currentTab].className += " finish";
  }
  return valid; // return the valid status
}

function fixStepIndicator(n) {
  // This function removes the "active" class of all steps...
  var i, x = document.getElementsByClassName("step");
  for (i = 0; i < x.length; i++) {
    x[i].className = x[i].className.replace(" active", "");
  }
  //... and adds the "active" class to the current step:
  x[n].className += " active";
}