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:
| Handling | Hva den gjør |
|---|---|
| Vis | Avslør en skjult blokk — et spørsmål, avsnitt, bilde eller alternativ — når betingelsene stemmer. |
| Skjul | Skjul en synlig blokk — et spørsmål, avsnitt, bilde eller alternativ — når betingelsene stemmer. |
| Gjør påkrevd | Gjør et felt dynamisk påkrevd for bestemte veier. |
| Gjør valgfri | Slapp av validering på et påkrevd felt når betingelsene stemmer. |
| Angi neste side | Hopp til en bestemt side — slik bygger du forgrening |
| Beregn verdi | Regn ut totaler, poengsummer eller priser fra andre svar. |
| Angi betalingsbeløp | Sett, øk eller senk prisen på et Betalingsfelt basert på svar. |
| Hindre navigasjon til neste side | Stopp respondenten fra å gå videre, med en valgfri melding som forklarer hvorfor. |
| Hindre innsending av skjema | Forhindre 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
Åpne slash-menyen
Klikk på en tom linje på lerretet og skriv /. Blokkvelgeren vises.
- 2
Søk etter "Logic"
Skriv logic for å filtrere. Velg Logic fra Oppsett-kategorien. En ny logikkblokk vises ved markøren.
- 3
Legg til en regel
Blokken leser Når … Gjør …. Hver regel har én betingelsesgruppe og én eller flere handlinger.
- 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
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
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.
Et skjult spørsmål har ingen verdi
Hvis logikk skjuler et spørsmål, teller svaret det eventuelt allerede har, for ingenting — ikke i betingelser, ikke i beregninger, ikke i betalingsbeløpet, og ikke i den lagrede innsendingen. Svaret kommer bare tilbake hvis spørsmålet blir synlig igjen. Det samme gjelder hvert spørsmål i en skjult rad, kolonne eller gjentakende gruppe, og et valgt alternativ som logikken skjuler. En side som Angi neste side-reglene hopper over, regnes også som skjult: spørsmålene der er ikke påkrevd, og det som ble besvart der, forkastes. Skjulte felt er det motsatte: de har alltid verdien sin.
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)
| Operator | Beskrivelse |
|---|---|
| is | Verdien stemmer, uten hensyn til store og små bokstaver eller mellomrom i starten og slutten |
| is not | Verdien stemmer ikke |
| contains | Verdien inneholder den angitte teksten |
| does not contain | Verdien inneholder ikke den angitte teksten |
| starts with | Verdien begynner med den angitte teksten |
| ends with | Verdien slutter med den angitte teksten |
| is empty | Feltet har ingen verdi |
| is not empty | Feltet 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:
| Felt | Operatorer det tilbyr |
|---|---|
| contains, does not contain, is, ends with, is empty, is not empty | |
| Website URL | contains, does not contain, is, starts with, ends with, is empty, is not empty |
| Phone Number | is, 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)
| Operator | Beskrivelse |
|---|---|
| is | Verdien stemmer nøyaktig |
| is not | Verdien stemmer ikke |
| is greater than | Verdien er over det angitte tallet |
| is less than | Verdien er under det angitte tallet |
| is greater than or equal to | Verdien er lik eller over det angitte tallet |
| is less than or equal to | Verdien er lik eller under det angitte tallet |
| is between | Verdien faller innenfor et område (inklusivt) |
| is empty | Feltet har ingen verdi |
| is not empty | Feltet har en verdi |
Checkboxes og picture choice
| Operator | Beskrivelse |
|---|---|
| has checked any of | Minst ett av de angitte alternativene er avkrysset |
| has not checked any of | Ingen av de angitte alternativene er avkrysset |
| has checked all of | Alle de angitte alternativene er avkrysset |
| has checked exactly | Avkryssede alternativer stemmer nøyaktig med det angitte settet |
| is empty | Ingen alternativer er valgt |
| is not empty | Minst ett alternativ er valgt |
Dropdown og Radio Buttons (enkeltvalg)
| Operator | Beskrivelse |
|---|---|
| is | Det valgte alternativet stemmer nøyaktig |
| is not | Det valgte alternativet stemmer ikke |
| is empty | Ingenting er valgt |
| is not empty | Et alternativ er valgt |
Toggle Switch (og boolske beregnede felt)
| Operator | Beskrivelse |
|---|---|
| is on | Bryteren er slått på |
| is off | Bryteren er slått av |
Signature
| Operator | Beskrivelse |
|---|---|
| is signed | En signatur er tegnet |
| is not signed | Ingen signatur er tegnet |
File Upload
| Operator | Beskrivelse |
|---|---|
| has file | Minst én fil er lastet opp |
| has no file | Ingen fil er lastet opp |
Date Picker og Time Picker
| Operator | Beskrivelse |
|---|---|
| is | Nøyaktig samsvar |
| is not | Stemmer ikke |
| is before | Før den angitte datoen/klokkeslettet |
| is after | Etter den angitte datoen/klokkeslettet |
| is between | Faller innenfor et dato-/klokkeslettintervall |
| is empty | Ingen verdi valgt |
| is not empty | Har en verdi |
Ranking
| Operator | Beskrivelse |
|---|---|
| option is ranked first | Det angitte alternativet er i første posisjon |
| option is ranked last | Det angitte alternativet er i siste posisjon |
| option is ranked above | Det angitte alternativet er rangert over et annet alternativ |
Matrix / Grid
| Operator | Beskrivelse |
|---|---|
| row answer is | En bestemt rad har det angitte svaret |
| row answer is not | En bestemt rad har ikke det angitte svaret |
| row is answered | En bestemt rad er besvart |
| row is not answered | En bestemt rad er ikke besvart |
Payment
| Operator | Beskrivelse |
|---|---|
| amount equals | Betalingsbeløpet stemmer nøyaktig |
| amount is greater than | Betalingsbeløpet er over den angitte verdien |
| amount is less than | Betalingsbeløpet er under den angitte verdien |
| is completed | Betaling ble behandlet |
| is not completed | Betaling 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:
| Handlingstype | Mål | Eksempel |
|---|---|---|
| Vis / Skjul | En hvilken som helst blokk — et spørsmål, avsnitt, bilde, layoutbeholder eller et bestemt alternativ innenfor et valgfelt | Vis et "Godt valg!"-avsnitt når et alternativ velges |
| Gjør påkrevd / Gjør valgfri | Et spørsmål | Krev "Kostholdsrestriksjoner" bare for deltakere som møter opp fysisk |
| Angi neste side | En side | Hopp til side 5 for tilbakevendende kunder |
| Beregn verdi | Et beregnet felt | Summer tre Star Rating-poengsummer til en total |
| Angi betalingsbeløp | Et Betalingsfelt | Øk prisen med 15 når "Rush delivery" er på |
| Hindre navigasjon til neste side / Hindre innsending av skjema | Intet 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.
| Handling | Hvordan flere regler kombineres |
|---|---|
| Vis / Skjul, Gjør påkrevd / Gjør valgfri | Bare 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 side | Et 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 verdi | Hver samsvarende regel kjører, i rekkefølge, på den løpende verdien. Ingenting gjør krav på noe. |
| Angi betalingsbeløp | Bare 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 samsvarer | Blokken 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.