formbasedocs
Gå til appenAppen

Bygge skjemaer

Betinget logikk

Logikkblokker reagerer på det en respondent skriver inn — vis eller skjul en hvilken som helst blokk, hopp til sider, blokker innsending, eller beregn verdier. Lag enkle regler som bygger opp sofistikert forgrening uten kode.


Hva logikk kan gjøre

Hver logikkblokk har én eller flere regler. Hver regel kobler en betingelsesgruppe (når skal dette utløses?) med én eller flere handlinger (hva skal skje?). Ni handlingstyper er tilgjengelige:

HandlingHva den gjør
VisAvslør en skjult blokk — et spørsmål, avsnitt, bilde eller alternativ — når betingelsene stemmer.
SkjulSkjul en synlig blokk — et spørsmål, avsnitt, bilde eller alternativ — når betingelsene stemmer.
Gjør påkrevdGjør et felt dynamisk påkrevd for bestemte veier.
Gjør valgfriSlapp av validering på et påkrevd felt når betingelsene stemmer.
Angi neste sideHopp til en bestemt side — slik bygger du forgrening
Beregn verdiRegn ut totaler, poengsummer eller priser fra andre svar.
Angi betalingsbeløpSett, øk eller senk prisen på et Betalingsfelt basert på svar.
Hindre navigasjon til neste sideStopp respondenten fra å gå videre, med en valgfri melding som forklarer hvorfor.
Hindre innsending av skjemaForhindre innsending til betingelsene er oppfylt (f.eks. vilkår akseptert), med en valgfri melding som forklarer hvorfor.

Legge til en logikkblokk

En logikkblokk er et dokumentelement — den sitter på lerretet mellom spørsmål, akkurat som en overskrift eller et bilde. Du kan plassere den hvor som helst: mellom to felt på samme side, øverst på en side, eller rett før et sideskift.

  1. 1

    Åpne slash-menyen

    Klikk på en tom linje på lerretet og skriv /. Blokkvelgeren vises.

  2. 2

    Søk etter "Logic"

    Skriv logic for å filtrere. Velg Logic fra Oppsett-kategorien. En ny logikkblokk vises ved markøren.

  3. 3

    Legg til en regel

    Blokken leser Når … Gjør …. Hver regel har én betingelsesgruppe og én eller flere handlinger.

  4. 4

    Definer betingelser

    Velg et felt, velg en operator, og angi en verdi. Legg til en ny betingelse, eller legg til et sett med betingelser for å nøste ett nivå dypere.

  5. 5

    Velg handlinger

    Velg en handlingstype (Vis, Skjul, Gjør påkrevd, Angi neste side, og så videre) og velg målet — et spørsmål, en blokk, et alternativ eller en side.

  6. 6

    Legg til flere regler (valgfritt)

    En enkelt logikkblokk kan inneholde flere regler. Hver regel er uavhengig: egne betingelser, egne handlinger.

Betingelser

Betingelser er Når-siden av en regel. Hver betingelse velger et felt, bruker en operator, og sammenligner ofte med en verdi. Feltvelgeren grupperer det du kan overvåke: Spørsmål, Skjulte felter, Beregnede felter og Metadata (i dag, respondentens språk).

Alle eller Noen

Når en regel har to eller flere betingelser, vises en veksling øverst i Når-seksjonen:

  • Alle — alle betingelser må være sanne for at regelen skal utløses. Radene leses som “og”.

  • Noen — én sann betingelse er nok. Radene leses som “eller”.

Sett med betingelser

Legg til et sett med betingelser nøster en ny gruppe inne i den første, ett nivå dypt, med sin egen Alle/Noen-veksling. Det dekker sammensatt logikk som “plan er Pro og (land er Norge eller land er Sverige)”. Et sett inneholder kun betingelser — det kan ikke inneholde et annet sett.

Hold det lesbart

Hvis en enkelt logikkblokk føles for kompleks, kan du vurdere å dele logikken over flere logikkblokker eller omstrukturere skjemasidene dine.

Operatorreferanse

Operatorlisten avgjøres av feltet du har valgt — du ser bare de operatorene det feltet støtter. Under navngir hver overskrift det eksakte settet.

Tekst (Text Input, Text Area og tekstberegnede felt)

OperatorBeskrivelse
isVerdien stemmer, uten hensyn til store og små bokstaver eller mellomrom i starten og slutten
is notVerdien stemmer ikke
containsVerdien inneholder den angitte teksten
does not containVerdien inneholder ikke den angitte teksten
starts withVerdien begynner med den angitte teksten
ends withVerdien slutter med den angitte teksten
is emptyFeltet har ingen verdi
is not emptyFeltet har en verdi

Alle tekstsammenligninger ser bort fra store og små bokstaver og mellomrom i starten og slutten, så x@Competitor.com slutter med @competitor.com.

De andre tekstlignende inndatafeltene har et snevrere sett, så velg typen som passer med hvordan du trenger å sammenligne:

FeltOperatorer det tilbyr
Emailcontains, does not contain, is, ends with, is empty, is not empty
Website URLcontains, does not contain, is, starts with, ends with, is empty, is not empty
Phone Numberis, starts with, contains, is empty, is not empty
Skjult felt (tekst)Hele tekstsettet ovenfor

Numerisk (Number, Star Rating, linear scale, numeriske skjulte og beregnede felt)

OperatorBeskrivelse
isVerdien stemmer nøyaktig
is notVerdien stemmer ikke
is greater thanVerdien er over det angitte tallet
is less thanVerdien er under det angitte tallet
is greater than or equal toVerdien er lik eller over det angitte tallet
is less than or equal toVerdien er lik eller under det angitte tallet
is betweenVerdien faller innenfor et område (inklusivt)
is emptyFeltet har ingen verdi
is not emptyFeltet har en verdi

Checkboxes og picture choice

OperatorBeskrivelse
has checked any ofMinst ett av de angitte alternativene er avkrysset
has not checked any ofIngen av de angitte alternativene er avkrysset
has checked all ofAlle de angitte alternativene er avkrysset
has checked exactlyAvkryssede alternativer stemmer nøyaktig med det angitte settet
is emptyIngen alternativer er valgt
is not emptyMinst ett alternativ er valgt
OperatorBeskrivelse
isDet valgte alternativet stemmer nøyaktig
is notDet valgte alternativet stemmer ikke
is emptyIngenting er valgt
is not emptyEt alternativ er valgt

Toggle Switch (og boolske beregnede felt)

OperatorBeskrivelse
is onBryteren er slått på
is offBryteren er slått av

Signature

OperatorBeskrivelse
is signedEn signatur er tegnet
is not signedIngen signatur er tegnet

File Upload

OperatorBeskrivelse
has fileMinst én fil er lastet opp
has no fileIngen fil er lastet opp

Date Picker og Time Picker

OperatorBeskrivelse
isNøyaktig samsvar
is notStemmer ikke
is beforeFør den angitte datoen/klokkeslettet
is afterEtter den angitte datoen/klokkeslettet
is betweenFaller innenfor et dato-/klokkeslettintervall
is emptyIngen verdi valgt
is not emptyHar en verdi

Ranking

OperatorBeskrivelse
option is ranked firstDet angitte alternativet er i første posisjon
option is ranked lastDet angitte alternativet er i siste posisjon
option is ranked aboveDet angitte alternativet er rangert over et annet alternativ

Matrix / Grid

OperatorBeskrivelse
row answer isEn bestemt rad har det angitte svaret
row answer is notEn bestemt rad har ikke det angitte svaret
row is answeredEn bestemt rad er besvart
row is not answeredEn bestemt rad er ikke besvart

Payment

OperatorBeskrivelse
amount equalsBetalingsbeløpet stemmer nøyaktig
amount is greater thanBetalingsbeløpet er over den angitte verdien
amount is less thanBetalingsbeløpet er under den angitte verdien
is completedBetaling ble behandlet
is not completedBetaling er ikke behandlet ennå

Felt du ikke kan overvåke

Schedule appointment og Dokumenter kan være mål for synlighet, men aldri kilder til betingelser. En booking er knyttet til innsendingen i stedet for lagret som et vanlig svar, og en dokumentblokk samler ikke inn noe svar i det hele tatt. Bruk tidligere kvalifiseringssvar til å vise eller skjule begge deler. Hvert synlige Schedule appointment-spørsmål må bookes før innsending; et skjult spørsmål blokkerer ikke innsendingen. Se Cal.com-timebestilling med logikk.

Målretting

Hver handling trenger et mål — det den virker på. Målet avhenger av handlingstypen:

HandlingstypeMålEksempel
Vis / SkjulEn hvilken som helst blokk — et spørsmål, avsnitt, bilde, layoutbeholder eller et bestemt alternativ innenfor et valgfeltVis et "Godt valg!"-avsnitt når et alternativ velges
Gjør påkrevd / Gjør valgfriEt spørsmålKrev "Kostholdsrestriksjoner" bare for deltakere som møter opp fysisk
Angi neste sideEn sideHopp til side 5 for tilbakevendende kunder
Beregn verdiEt beregnet feltSummer tre Star Rating-poengsummer til en total
Angi betalingsbeløpEt BetalingsfeltØk prisen med 15 når "Rush delivery" er på
Hindre navigasjon til neste side / Hindre innsending av skjemaIntet mål nødvendig (bare meldingen)Forhindre innsending til vilkårsbryteren er på

Vis og Skjul rekker lenger enn spørsmål. Målrett en hvilken som helst blokk på lerretet — et avsnitt, en overskrift, et bilde eller en layoutbeholder — for å avsløre en merknad som var skjult som standard, eller skjule innhold når det ikke lenger er relevant. De kan også målrette individuelle alternativer inne i et valgfelt, ikke bare hele spørsmålet. Skjul en blokk fra blokkmenyen først, og skriv deretter en regel for å avsløre den.

Hvordan flere regler kombineres

Hver regel er uavhengig, og alle evalueres samtidig. Regler leses ovenfra og ned, på tvers av logikkblokker, i dokumentrekkefølge. Hvordan flere regler på ett mål kombineres, avhenger av handlingen.

HandlingHvordan flere regler kombineres
Vis / Skjul, Gjør påkrevd / Gjør valgfriBare en regel hvis betingelser stemmer, gjør krav på målet, så reglene stables som en eller: blokken vises hvis en samsvarende regel viser den. En regel som ikke samsvarer, bruker sin motsetning, men gjør ikke krav på noe, så en senere samsvarende regel vinner likevel.
Angi neste sideEt hopp virker når respondenten trykker Neste på siden med spørsmålene regelen leser, og på ingen annen side. Av reglene som virker der, vinner den første som samsvarer. En regel som bare leser skjulte eller beregnede felt, virker på hvilken som helst side, men hopper bare fremover.
Beregn verdiHver samsvarende regel kjører, i rekkefølge, på den løpende verdien. Ingenting gjør krav på noe.
Angi betalingsbeløpBare en "sett til"-regel med samsvarende betingelser gjør krav på prisen, så den første som samsvarer eier den, og flere "sett til"-regler kan gi hvert prisnivå sin pris. "øk med" og "reduser med" gjør aldri krav — de stables i rekkefølge på det løpende beløpet.
Ingen regel samsvarerBlokken går tilbake til sin standard — skjult hvis den var skjult som standard, synlig ellers.

Så du kan peke flere regler på én blokk uten at de kommer i konflikt. Et tilbakemeldingsskjema har et Radio Buttons-spørsmål — “Hva kan vi hjelpe deg med?” — med fire alternativer, og et e-postfelt “Kan vi kontakte deg?” som er skjult som standard. Fire regler Vis-er det samme e-postfeltet (pluss hvert sitt oppfølgingsspørsmål) for sitt alternativ. E-postfeltet vises uansett hvilket alternativ som velges, og forblir skjult bare hvis ingen er valgt.

Én regel er ofte nok

For å vise en blokk for flere svar er én regel med Noen og én betingelse per svar — eller en enkelt is not empty-betingelse som dekker alle — enklere å lese enn fire regler. Bruk flere regler når hvert alternativ også trenger sitt eget distinkte oppfølgingsspørsmål.

Motstridende regler

Når to regler er uenige om det samme målet — én Vis-er en blokk mens en annen Skjul-er den, eller én gjør et felt påkrevd mens en annen gjør det valgfritt — og begge betingelsene samsvarer samtidig, vinner den første regelen. Den tapende regelen flagges i redigeringsprogrammet: “Denne handlingen gjelder aldri — en tidligere regel styrer allerede målet. Rekkefølgen på reglene avgjør: den første regelen vinner.”

Ett unntak fra rekkefølgen: en regel hvis betingelse leser et beregnet felt, kjører etter regelen som skriver til det, uansett dokumentrekkefølge, slik at en poengsum alltid beregnes før noe forgrener seg på den. Regler som skriver til hverandres beregnede felt i en løkke, utløser en publiseringsadvarsel som navngir kjeden — bryt løkken slik at verdiene løses opp på en forutsigbar måte.

Skjult vinner over påkrevd

Et spørsmål som ender opp skjult, er aldri påkrevd, enten det ble skjult av en regel eller skjult fra blokkmenyen uten noen regel som avslører det igjen. Stjernen forsvinner, og innsending blokkeres ikke — ellers kunne en respondent bli stengt ute fra et skjema av et felt de ikke kan se.

Vanlige mønstre

Vis et oppfølgingsspørsmål basert på et tidligere svar

En tilfredshetsundersøkelse spør “Hvordan vil du vurdere opplevelsen din?” med en 1-5 Star Rating. En logikkblokk under den bruker betingelsen “rating is less than or equal to 3” med handlingen Vis som målretter et Text Area-felt som spør “Hva kan vi forbedre?” Respondenter som gir 4 eller 5 ser aldri oppfølgingsspørsmålet.

Avslør en melding når et alternativ velges

Et påmeldingsskjema har et Radio Buttons-spørsmål: “Hvilken plan passer deg best?” Under det sitter et avsnitt — “Godt valg! Pro-planen vår inkluderer prioritert støtte.” — skjult som standard med blokkmenyens Skjul. En logikkblokk avslører det: hvis plan er “Pro”, Vis avsnittet. Den oppmuntrende merknaden vises bare for dem som velger Pro, og forblir skjult for alle andre.

Forgren til ulike sider basert på et valg

Et arrangement-registreringsskjema har et Radio Buttons-spørsmål: “Deltar du fysisk eller eksternt?” To logikkblokker følger:

  • Regel 1 — betingelse: oppmøte er “Fysisk”, handling: Angi neste side “Lokalitetsinformasjon”.

  • Regel 2 — betingelse: oppmøte er “Eksternt”, handling: Angi neste side “Strømmeoppsett”.

  • Regel 3 — betingelse: ankomsttid is not empty, handling: Angi neste side “Bekreftelse”. Ankomsttid er et påkrevd spørsmål på “Lokalitetsinformasjon”.

Regel 1 og 2 leser oppmøte-spørsmålet, så de virker når respondenten forlater siden med det spørsmålet. Etter det går Neste videre i siderekkefølge. Regel 3 leser et spørsmål på “Lokalitetsinformasjon”, så den virker når respondenten forlater den siden. De som deltar fysisk, hopper da over “Strømmeoppsett”. Hver vei samler bare relevant informasjon, og begge konvergerer på en felles “Bekreftelse”-side.

Beregn en poengsum og forgren basert på den

Et lead-kvalifiseringsskjema har tre Star Rating-spørsmål: budsjett, tidslinje og myndighet. Et beregnet felt kalt “Lead score” bruker en logikkblokk med handlingen Beregn verdi for å legge sammen verdien av hver vurdering. En andre logikkblokk leser det beregnede feltet: hvis Lead score is greater than 12, Angi neste side “Prioritert oppfølging”; ellers hopp til standard bekreftelsessiden.

Reager på en skjult feltverdi

URL-en fyller ut et skjult felt kalt plan (f.eks. ?plan=enterprise). En logikkblokk sjekker: hvis plan er “enterprise”, Vis spørsmålet “Dedikert kontoadministrator” og Gjør påkrevd feltet “Selskapsstørrelse”. Respondenter på gratisplanen ser aldri disse spørsmålene.

Sperre innsending basert på en beregnet total

Et bestillingsskjema beregner en løpende total. En logikkblokk bruker betingelsen: hvis Order total is less than 10, Hindre innsending av skjema. Respondenten kan ikke sende inn før minimumsordreterskelen er nådd.

Mens en hindre-regel er aktiv, vises knappen som utilgjengelig, og respondenten får vite hvorfor. Skriv årsaken inn i Melding vist til respondenten på handlingsraden — “Bestillingen din må totalt være minst 10” — slik at de vet hvilket svar de skal endre. Lar du det stå tomt, faller skjemaet tilbake på “Dette skjemaet kan ikke sendes inn med de nåværende svarene.” (eller “Du kan ikke fortsette til neste side med de nåværende svarene.” for en navigasjonsblokk). Når flere hindre-regler utløses samtidig, er det den første som har en melding, som bestemmer teksten.

Test logikk med Forhåndsvisning

Etter at du har satt opp reglene dine, bytter du til Forhåndsvisning i øverste verktøylinje og fyller ut skjemaet slik en respondent ville gjøre det. Logikk utløses i sanntid i Forhåndsvisning, slik at du kan bekrefte hver forgrening, skjult felt og valideringsport før publisering.

Neste steg