Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  5 8656
Hei!
Jeg har en nettside som kjører WoWonder.

I registrerings-formen har jeg en checkbox man må huke av for at "Registrer deg"-knappen skal bli aktivert.

Kode

<input type="checkbox" name="accept_terms" id="accept_terms" onchange="activateButton(this)">
<label for="accept_terms"> 
Ved å registrere deg, aksepterer du våre <a href="index.php?side=terms">Betingelser</a> & <a href="index.php?side=personsvern">Personsvernspolitikk</a>
</label>
Her er det en checkbox for både betingelser og personsvernspolitikk. Jeg ønsker å ha en egen checkbox for betingelser, og en egen for personsvernspolitikk. Ved å huke av begge, skal "Registrer deg" knappen bli aktivert.

Hva må legges inn / redigeres her?
Hvordan ser javascript funksjonen activateButton() ut?

Du må nok legge til en kontroll i den funksjonen som sjekker at begge boksene er krysset ut.
Stingray's Avatar
Trådstarter
Aha!

Kode

function activateButton(element) {
	if(element.checked) {
		document.getElementById("sign_submit").disabled = false;
	}
	else  {
		document.getElementById("sign_submit").disabled = true;
	}
};

Kode

<button type="submit" class="btn" id="sign_submit" disabled>Registrer deg!</button>
Gir dette noen mening for deg?
Kanskje denne løsning kan brukes?

jQuery

Kode

<input type="checkbox" id="accept_terms"/>Betingelser

<input type="checkbox" id="privacy"/>Personvern

Kode

$("input[type=checkbox]").change(function(){

                if($('#accept_terms').is(':checked') && $('#privacy').is(':checked')) {
                    alert("Begge er krysset ut");
                }
            });
https://jsfiddle.net/94ewmjzu/
Sist endret av random105675; 23. mai 2020 kl. 23:51. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
I see you...
NAPse's Avatar
Du kan vel slenge inn <input> required Attribute på inputfeltene i skjemaet, så vil man få en feilmelding om at feltene må krysses ut ved forsøk på å trykke på submit dersom de ikke er avhuka.

Det er kanskje ikke støtta av alle nettlesere, men det er langt fra alle som kjører javascript heller. Skal du være helt sikker på at skjemaet er korrekt utfyllt må du uansett validere skjemaet på serversiden.
Sitat av NAPse Vis innlegg
Du kan vel slenge inn <input> required Attribute på inputfeltene i skjemaet, så vil man få en feilmelding om at feltene må krysses ut ved forsøk på å trykke på submit dersom de ikke er avhuka.

Det er kanskje ikke støtta av alle nettlesere, men det er langt fra alle som kjører javascript heller. Skal du være helt sikker på at skjemaet er korrekt utfyllt må du uansett validere skjemaet på serversiden.
Vis hele sitatet...
Dette er nok det beste, så lenge brukeren din ikke kjører en prehistorisk nettleser så er det god støtte (ref.: https://www.w3schools.com/Jsref/prop...x_required.asp)

Kan også se det slik at gammel IE neppe støtter JS koden heller.

Og som det også ble sagt: ALDRI stol på data fra frontend, alltid valider i backend!! Mange (inkl. meg selv) som har som hobby å se hvor mye som kan ødelegges lettest mulig