Interactief formulier maken

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • MikedeWildt
  • Registratie: November 2014
  • Laatst online: 13-07-2022
Hoi,

ik probeer een formulier dat ik heb gemaakt interactief te maken. Het is al responsive, maar nu moeten er ook nog een paar vragen aanpassen op eerder gegeven antwoorden.

Het gaat in mijn geval om de vraag of iemand een partner mee wil nemen.
If 'ja' dan wil ik dat er een veld komt voor naam en vervolgens kan aanmelden voor het evenment.
If 'nee' dan wil ik dat de persoon zich kan aanmelden voor het evenement

Hieronder tref je de code.


<html>
<head>
<meta charset="utf-8">
<title>Responsive Formulier Lustrum</title>
<link rel="stylesheet" type="text/css" href="responsiveform.css">
<link rel="stylesheet" media="screen and (max-width: 1200px) and (min-width: 601px)" href="responsiveform1.css" />
<link rel="stylesheet" media="screen and (max-width: 600px) and (min-width: 351px)" href="responsiveform2.css" />
<link rel="stylesheet" media="screen and (max-width: 350px)" href="responsiveform3.css" />
<link rel="stylesheet" type="text/css" href="interactiveform1.css">
</head>
<body>
<script>
var FormStuff = {

init: function() {
// kick it off once, in case the radio is already checked when the page loads
this.applyConditionalRequired();
this.bindUIActions();
},

bindUIActions: function() {
// when a radio or checkbox changes value, click or otherwise
$("input[type='radio'], input[type='checkbox']").on("change", this.applyConditionalRequired);
},

applyConditionalRequired: function() {
// find each input that may be hidden or not
$(".require-if-active").each(function() {
var el = $(this);
// find the pairing radio or checkbox
if ($(el.data("require-pair")).is(":checked")) {
// if its checked, the field should be required
el.prop("required", true);
} else {
// otherwise it should not
el.prop("required", false);
}
});
}

};

FormStuff.init();
</script>

<div id="envelope">
<form action="" method="post">
<header>
<h2>Vul in of je aanwezig bent</h2>
<p>We hebben slecht een aantal gegevens van je nodig</p>
</header>
<label>Voornaam</label>
<input name="voornaam" placeholder="voornaam" type="text" width="100px;">
<label>Tussenvoegsel</label>
<input name="tussenvoegsel" placeholder="eventueel tussenvoegsel" type="text" width="100px;">
<label>Achternaam</label>
<input name="achternaam" placeholder="achternaam" type="text" width="100px;">
<label>E-mail</label>
<input name="email" placeholder="e-mailadres" type="text">
<label>Neem je je partner mee?</label>
<div>
<div>
<input type="radio" name="partners" id="partner" required>
<label for="partner">Ja</label>
<div class="reveal-if-active">
<label for="partner-naam">Welke naam mogen wij noteren?</label>
<input type="text" id="partner-naam" name="partner-naam" class="require-if-active" data-require-pair="#partner">
</div>
</div>

<div>
<input type="radio" name="partners" id="partner-nee">
<label for="partner-nee">Nee</label>
</div>
</div>
<label>Opmerking</label>
<textarea cols="15" name="opmerking" placeholder="Als je nog iets kwijt wil dan kan je dat hier mee plaatsen" rows="10">
</textarea>
<input id="submit" type="submit" value="Ja ik meld mij aan">
</form>
</div>
</body>
</html>



Gaat nog wel een hoop mis, maar wellicht kan er iemand mee kijken / denken _/-\o_
Mike

[ Voor 30% gewijzigd door MikedeWildt op 24-07-2015 12:06 ]


Acties:
  • 0 Henk 'm!

  • LordSinclair
  • Registratie: Oktober 2014
  • Laatst online: 21:26
Probeer je eens wat te verdiepen in javascript en/of jQuery. Daarmee is het redelijk eenvoudig om aan de hand van een keuze zaken te verbergen en te tonen (clientside).

There's no need to kneel, I'm a very democratic sort of lord.


Acties:
  • 0 Henk 'm!

  • FotW
  • Registratie: Juli 2012
  • Laatst online: 28-09 10:57
Of met css afhankelijk van de browsers die je ondersteund: https://css-tricks.com/ex...-fields-radio-button-css/

Acties:
  • 0 Henk 'm!

  • MikedeWildt
  • Registratie: November 2014
  • Laatst online: 13-07-2022
Met de juiste zoektermen ben ik dankzij jullie reply's al een stuk verder. Ik heb de HTML aangepast. Ik zit nog wel een beetje in mijn maag met een aantal zaken:

- verplichte velden (op tussenvoegsels na allemaal). Ik heb de radiobuttons wel al verplicht gekregen.
- emailadres controle

hebben jullie daar nog een goede query voor of misschien een oplossing?

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 23:31

MueR

Admin Devschuur & Discord

is niet lief

Lees je eens in op HTML5 form validation.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • MikedeWildt
  • Registratie: November 2014
  • Laatst online: 13-07-2022
ik dank jullie hartelijk. Het is inmiddels redelijk voor elkaar! Ik denk niet dat het perfect volgens conventies is gedaan, maar het werkt prima. Dank dank!

Acties:
  • 0 Henk 'm!

  • IschaGast
  • Registratie: Juli 2001
  • Laatst online: 09-12-2024
Je kan ook eens kijken naar wufoo.com, kan je heel makkelijk formulieren mee bouwen met validatie en met mogelijke formulier regels. Je kan ook nog je eigen saus eroverheen gooien maar bij de gratis accounts zal je altijd iets van wufoo reclame zien. Als dat je niet uit maakt is het echt een prima tool. Heb het heel veel gebruikt voor bijvoorbeeld een basisschool website en werkte altijd uitstekend.
Pagina: 1