Sąlyginė logika / rodymo-slėpimo taisyklės
Dabar prieinama: Sąlyginė logika veikia. Galite rodyti, slėpti ar reikalauti lauko pagal atsakymus, kuriuos atsakiusieji pateikė ankstesniuose laukuose -- tiesiai formos redaktoriuje, be jokios kūrėjo pagalbos. Šis straipsnis parodo, kaip tai nustatyti ir ką daro kiekviena parinktis.
Ką daro sąlyginė logika
Sąlyginė logika leidžia rodyti, slėpti ar reikalauti lauko pagal atsakymus, kuriuos atsakiusieji pateikė ankstesniuose laukuose. Dažni pavyzdžiai:
- „Sutuoktinio vardas" pasirodo tik jei „Šeimyninė padėtis = Susituokęs(-usi)".
- „Papasakokite apie maisto alergiją" pasirodo tik jei „Turi maisto alergijų = Taip".
- Klausimas „Vaikų priežiūros poreikiai" pasirodo tik kai „Atsiveda vaikus = Taip".
- Teksto laukas „Kita (nurodykite)" pasirodo tik kai atsakiusysis pasirenka „Kita" iš išskleidžiamojo sąrašo.
- „Alergijos duomenys" tampa privalomas tik kai „Turi alergijų = Taip".
Tai leidžia kurti dinamiškas, šakojančias formas, jų nedalijant į kelias formas.
Kaip tai nustatyti
Sąlyginė logika konfigūruojama kiekvienam laukui atskirai, lauko redaktoriuje.
- Atverkite savo formą redaktoriuje.
- Spustelėkite lauką drobėje, kad atvertumėte šoninį skydelį Redaguoti lauką.
- Nuslinkite žemyn iki skyriaus Sąlyginė logika.
- Įjunkite perjungiklį Sąlyginė logika.
- Pasirinkite Veiksmą ir Atitikmens režimą, tada pridėkite vieną ar daugiau taisyklių (žr. žemiau).
- Išsaugokite formą. Taisyklės iš karto įsigalioja viešoje formoje.

Pasirinkite veiksmą
Išskleidžiamasis sąrašas Veiksmas nusprendžia, kas nutinka, kai taisyklės sutampa:
- Rodyti šį lauką -- laukas pagal numatytuosius nustatymus paslėptas ir pasirodo tik kai taisyklės sutampa.
- Slėpti šį lauką -- laukas pagal numatytuosius nustatymus matomas ir pradingsta, kai taisyklės sutampa.
- Šis laukas privalomas -- laukas lieka matomas, bet tampa privalomas tik kai taisyklės sutampa. (Be to, laukas vis tiek gali būti privalomas dėl savo nuosavo nustatymo „Privaloma".)
Pasirinkite atitikmens režimą
Kai pridedate daugiau nei vieną taisyklę, išskleidžiamasis sąrašas Atitikmuo nusprendžia, kaip jos derinamos:
- Visos žemiau esančios taisyklės (IR) -- kiekviena taisyklė turi būti teisinga, kad veiksmas įsigaliotų.
- Bet kuri žemiau esanti taisyklė (ARBA) -- veiksmas įsigalioja, jei bent viena taisyklė teisinga.
Taisyklių pridėjimas
Spustelėkite Pridėti taisyklę, kad pridėtumėte sąlygą. Kiekviena taisyklė turi tris dalis:
- Laukas -- ankstesnis laukas, kurio atsakymą ši taisyklė stebi. Išskleidžiamajame sąraše išvardyti kiti jūsų formos laukai.
- Operatorius -- kaip palyginti atsakymą (žr. operatorių lentelę žemiau).
- Reikšmė -- su kuo lyginti. Jei stebimas laukas yra Išskleidžiamasis sąrašas / Vienos pasirinkties laukai / Žymimasis langelis, tai tampa to lauko parinkčių išskleidžiamuoju sąrašu; priešingu atveju tai laisvo teksto langelis. Operatoriams „yra užpildytas" ir „yra tuščias" reikšmės nereikia.
Naudokite raudoną X taisyklės eilutėje, kad ją pašalintumėte. Taisyklių skaičiaus riba nėra nustatyta.
Patarimas: Naudodami „yra vienas iš" / „nėra nė vienas iš", įveskite reikšmes, atskirtas kableliais (pavyzdžiui,
a, b, c).
Palaikomi operatoriai
| Operatorius | Sutampa, kai stebimas laukas... |
|---|---|
| Lygu | tiksliai lygus reikšmei |
| Nelygu | nelygus reikšmei |
| Apima | savo tekste turi reikšmę |
| Neapima | savo tekste neturi reikšmės |
| Prasideda | prasideda reikšme |
| Baigiasi | baigiasi reikšme |
| Didesnis nei | yra skaičius, didesnis už reikšmę |
| Mažesnis nei | yra skaičius, mažesnis už reikšmę |
| Užpildytas | turi bet kokį įvestą atsakymą |
| Tuščias | neturi jokio atsakymo |
| Prieš (data) | yra data, ankstesnė už reikšmę |
| Po (data) | yra data, vėlesnė už reikšmę |
| Yra vienas iš (atskirta kableliais) | sutampa su bet kuria jūsų kableliais atskirto sąrašo reikšme |
| Nėra nė vienas iš (atskirta kableliais) | nesutampa su jokia jūsų sąrašo reikšme |
Kurie laukai gali naudoti sąlyginę logiką
Sąlyginė logika prieinama įprastiems įvesties laukams. Ji neprieinama tik išdėstymo ar neinteraktyviems laukams -- Skyrius / antraštė, Instrukcijos / pastraipa, Puslapio lūžis ir Paslėptas laukai nerodo skyriaus Sąlyginė logika. Bet kuris kitas laukas (tekstas, išskleidžiamasis sąrašas, vienos pasirinkties laukas, žymimasis langelis, data, numeris, failo įkėlimas ir t. t.) gali būti valdomas taisyklių ir taip pat gali veikti kaip stebimas laukas kito lauko taisyklėms.
Kaip tai veikia viešoje formoje
Taisyklės vertinamos dviejose vietose, todėl patirtis sklandi, o duomenys lieka švarūs:
- Atsakiusiajam renkantis ar rašant -- forma iš naujo patikrina taisykles gyvai, todėl laukai pasirodo, pradingsta ir persijungia tarp privalomo ir neprivalomo akimirksniu.
- Dar kartą serveryje, kai forma pateikiama -- tai yra tiesos šaltinis. Paslėptas laukas niekada netikrinamas, todėl sąlygiškai paslėptas privalomas laukas niekada neblokuos pateikimo. Sąlygiškai privalomas laukas reikalaujamas tik tada, kai jo taisyklė iš tikrųjų sutampa.
Kadangi paslėpti laukai iškrenta iš tikrinimo, jie taip pat neįtraukiami į išsaugotą pateikimą. Ataskaitose ir eksportuose yra tik tie atsakymai, kuriuos atsakiusysis iš tikrųjų matė ir užpildė.
Šakojančių formų kūrimo patarimai
Keli šablonai, kurie gerai dera su sąlygine logika:
Derinkite su skyriais ir puslapių lūžiais
Išdėstymo laukas Skyrius prideda antraštę, kuri padalija formą į skaitomus gabalus, o Puslapio lūžis padalija formą per kelis puslapius. Nors patys Skyriai ir Puslapių lūžiai neturi sąlyginių taisyklių, atskirus juose esančius laukus vis tiek galite valdyti logika, kad sukurtumėte vedamą, šakojančią patirtį.
Švariai apdorokite „Kita (nurodykite)"
Kai Išskleidžiamasis sąrašas / Vienos pasirinkties laukas turi parinktį „Kita", pridėkite teksto lauką iškart po ja ir suteikite tam teksto laukui taisyklę Rodyti šį lauką, kur stebimas laukas nustatytas į jūsų pasirinkimo lauką, o reikšmė nustatyta į „Kita". Teksto langelis tada pasirodo tik tada, kai atsakiusysis pasirenka „Kita".
Reikalaukite tolesnių detalių tik kai reikia
Palikite tolesnį lauką pagal numatytuosius nustatymus neprivalomą, tada pridėkite taisyklę Šis laukas privalomas, kad jis būtų privalomas tik toje situacijoje, kuriai to reikia (pavyzdžiui, reikalaujant „Alergijos duomenų" tik kai „Turi alergijų = Taip"). Tai išlaiko formą trumpą visiems kitiems.
Padalykite į kelias formas radikaliai skirtingiems keliams
Kai du keliai per formą yra visiškai skirtingi (pvz., „Aš esu narys" vs „Aš esu svečias"), vis dar gali būti aiškiau sukurti dvi atskiras formas ir susieti jas iš vieno nukreipimo puslapio. Sąlyginė logika gerai tvarko šakojimąsi vienoje formoje, bet labai išsiskiriančias eigas kartais lengviau prižiūrėti kaip atskiras formas.
Kaip saugomos taisyklės
Kiekvienas laukas savo taisykles saugo struktūroje conditional_logic. Paprastai jos niekada nematote -- redaktorius ją įrašo už jus -- bet jei eksportuosite formą į JSON, ji atrodys taip:
{
"enabled": true,
"action": "show",
"match": "all",
"rules": [
{
"field": "marital_status",
"operator": "equals",
"value": "married"
}
]
}
Į JSON eksportuotos ir pakartotinai importuotos formos išlaiko savo sąlygines taisykles nepakitusias.
Susiję straipsniai
- Formos laukų tipai -- ten esantis skyrius Sąlyginė logika apima tą patį nustatymą iš laukų tipų perspektyvos.
- Formos kūrimas -- formos redaktoriaus pagrindai.
- Pateikimų valdymas -- kur pasirodo atsakiusiųjų iš tikrųjų užpildyti atsakymai.