Het probleem is dat je formulier direct verzonden wordt en de pagina dus opnieuw ingeladen wordt. Hierdoor wordt javascript stop gezet en je effect niet meer getoond.
Je zult dus een extra attribuut aan de <button> moeten meegeven: type="button" om te voorkomen dat het formulier verstuurd wordt.
Dan kun je de if uitbreiden met een else waarbij je het formulier gaat verzenden als de validatie correct is.
Het valt me op dat je nog niet heel erg volgens de jQuery standaard programmeert dus ik heb het enigszins gewijzigd.
Dank voor de oplossing! Ik had het inderdaad niet logisch geprogrammeerd.
alleen waar staat de (e) achter function voor? het is de eerste keer dat ik dat zie.
Ik heb een formulier gemaakt met radio buttons. Als het antwoord "ja" is, word er geen functie uitgevoerd.
Is het antwoord "nee" dan word er een veld d.m.v. fade in getoond. Dit werkt helemaal na behoren. (een poll)
Wat ik graag zou willen als het invulveld actief is "antwoord=nee" dat er gekeken word of er iets is ingevuld, is dit niet dan shake het desbetreffende veld.
Nu kan ik natuurlijk voor alle vragen het script kopiëren, maar het zou handiger zijn als ik dat onder een code kan schrijven.
[size=xsmall]Toevoeging op 10/09/2014 11:33:44:[/size]
Toevoeging op vorige bericht
Ik werk met 3 vragen.
Als er op de button word geklikt moet er worden gekeken of de velden actief zijn en of ze zijn ingevuld. is de value gelijk aan 0 shake het / de veld / velden wat leeg zijn, ander verstuur.
wat moet ik meegegeven in het script?
het is nu namelijk zo dat als de vraag met nee word beantwoord dat er een required true word meegeven, is het ja dan is requird false.
Yoeri: de e staat voor event. En event staat hier voor gebeurtenis. Het is een variabele die extra informatie oplevert bij een bepaalde gebeurtenis. Bij een .click() event (als er op het element geklikt wordt met de muis) is dit niet zo interessant maar bij een .keypress() event (als er op een toets gedrukt wordt) dan heeft de event variabele de informatie in zich op welke toets er gedrukt is.
Hier een voorbeeld van stackoverflow.com van een <input> die enkel cijfers accepteert:
$(document).ready(function() {
$("#txtboxToFilter").keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A
(e.keyCode == 65 && e.ctrlKey === true) ||
// Allow: home, end, left, right
(e.keyCode >= 35 && e.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
});