Overview
Logic jumps आपको dynamic forms बनाने देते हैं जो respondent के answers के आधार पर adapt होते हैं। हर question क्रम में दिखाने के बजाय, आप questions skip कर सकते हैं, अलग-अलग sections पर jump कर सकते हैं, या respondents को उनके responses के आधार पर specific end screens पर route कर सकते हैं।

Logic Jumps कैसे काम करते हैं
प्रत्येक question में एक या अधिक logic jumps attach हो सकते हैं। Respondent द्वारा question answer करने के बाद, NueForm logic jumps को क्रम में evaluate करता है। पहला jump जिसकी condition true evaluate होती है, यह निर्धारित करता है कि respondent आगे कहां जाएगा। यदि कोई condition match नहीं होती, तो form क्रम में अगले question पर आगे बढ़ता है।
Basic Flow
- Respondent एक question answer करता है।
- NueForm उस question पर प्रत्येक logic jump को क्रम में check करता है।
- पहले matching jump का destination अगला question निर्धारित करता है।
- यदि कोई jump match नहीं होता, तो respondent sequence में अगले question पर आगे बढ़ता है।
Conditions
Single Conditions (Legacy)
एक simple condition तीन भागों से बनी होती है:
- Field: कौन सा question या variable evaluate करना है।
- Operator: Value की तुलना कैसे करनी है।
- Value: जिस value से तुलना करनी है (
is_answered/is_not_answeredके लिए आवश्यक नहीं)।
Compound Conditions
Compound conditions आपको AND/OR logic के साथ multiple rules combine करने देती हैं:
- Combinator:
and(सभी rules match होने चाहिए) याor(कोई भी rule match होनी चाहिए)। - Rules: Individual condition rules का array।
यदि एक ही logic jump पर दोनों मौजूद हैं तो compound conditions legacy single conditions पर प्राथमिकता लेती हैं।
Operators
NueForm 10 condition operators प्रदान करता है। उपलब्ध operators evaluate किए जा रहे question type पर निर्भर करते हैं।
सभी Operators
| Operator | Symbol | विवरण |
|---|---|---|
equals | = | Answer बिल्कुल value के बराबर है। |
not_equals | != | Answer value के बराबर नहीं है। |
contains | Contains | Answer में value शामिल है (text) या value include है (array)। |
not_contains | Not contains | Answer में value शामिल नहीं है। |
greater_than | > | Numeric answer value से बड़ा है। |
less_than | < | Numeric answer value से छोटा है। |
greater_than_or_equals | >= | Numeric answer value से बड़ा या बराबर है। |
less_than_or_equals | <= | Numeric answer value से छोटा या बराबर है। |
is_answered | Answered | Question answer किया गया है (कोई भी non-empty value)। |
is_not_answered | Not answered | Question answer नहीं किया गया है। |
Question Type के अनुसार Operators
| Question Type | उपलब्ध Operators |
|---|---|
| Short Text, Long Text, Email, Phone, URL/Website | equals, not_equals, contains, not_contains, is_answered, is_not_answered |
| Number, Rating, Opinion Scale, NPS | equals, not_equals, greater_than, less_than, greater_than_or_equals, less_than_or_equals, is_answered, is_not_answered |
| Multiple Choice, Dropdown, Picture Choice, Ranking | equals, not_equals, is_answered, is_not_answered |
| Yes/No, Legal | equals, not_equals, is_answered, is_not_answered |
| Date | equals, not_equals, is_answered, is_not_answered |
| URL Variables | सभी operators (equals, not_equals, contains, not_contains, greater_than, less_than, greater_than_or_equals, less_than_or_equals, is_answered, is_not_answered) |
| अन्य सभी types | equals, not_equals, is_answered, is_not_answered |
Type Coercion
NueForm type mismatches को स्वचालित रूप से handle करता है:
equalsoperator उपयोग करते समय String"3"number3के बराबर होता है।- Boolean
truestring"true"से match होता है। - Array answers (multi-select) के साथ
containsके लिए, यह check करता है कि कोई selected item match होता है या नहीं। - Array answers के साथ
equalsके लिए, यह check करता है कि value selected items में है या नहीं।
Destinations
प्रत्येक logic jump एक destination specify करता है -- condition match होने पर respondent कहां जाना चाहिए।
| Destination | विवरण |
|---|---|
| Question ID | किसी specific question पर उसकी ID से jump करें। Question form में कहीं भी हो सकता है, पहले के questions सहित (loops बनाते हुए)। |
end | सीधे form के end पर skip करें (thank-you screen या submission)। |
Variable Actions
Logic jumps में variable actions शामिल हो सकते हैं जो jump की condition match होने पर form variables को modify करते हैं। इससे आप quiz mode के बिना calculators, scoring systems, और dynamic content बना सकते हैं।
Action Types
| Action | विवरण |
|---|---|
set | Variable को specific value पर set करें। |
add | Variable में numeric value add करें। |
subtract | Variable से numeric value subtract करें। |
Variable Actions कैसे काम करते हैं
- Logic jump condition
trueevaluate होती है। - Destination पर navigate करने से पहले, NueForm उस jump पर सभी variable actions execute करता है।
- Variable values form के variable state में update होती हैं।
- बाद के questions इन variables को
{variableName}syntax का उपयोग करके reference कर सकते हैं।
उदाहरण: Score accumulate करना
Question: "How satisfied are you?" (Rating 1-5)
Logic Jump 1: Rating >= 4 -> Next question, Action: add 10 to "score"
Logic Jump 2: Rating >= 2 -> Next question, Action: add 5 to "score"
Logic Jump 3: (default) -> Next question, Action: add 0 to "score"
Variables define और use करने के बारे में अधिक जानकारी के लिए Variables guide देखें।
Labels
प्रत्येक logic jump में documentation purposes के लिए एक optional label हो सकता है। Labels visual workflow editor में दिखाई देते हैं ताकि आप एक नज़र में logic flow समझ सकें।
Start Logic Jumps
Start logic jumps respondent को कोई भी question दिखाने से पहले evaluate होते हैं। ये form load होने पर तुरंत run होते हैं और starting question निर्धारित करने के लिए URL variables का उपयोग कर सकते हैं।
Use Cases
- URL parameters के आधार पर respondents को अलग-अलग sections में route करें (जैसे,
?department=salessales-specific questions पर skip करता है)। - Form शुरू होने से पहले URL parameters के आधार पर variables pre-set करें।
- कुछ audiences के लिए welcome screen skip करें।
Configuration
Start logic jumps form level पर configure होते हैं (individual questions पर नहीं)। ये question-level logic jumps के समान condition/destination/action structure follow करते हैं, लेकिन इनके condition fields केवल URL variables (जिनमें url: prefix होता है) reference कर सकते हैं।
उदाहरण: Department के अनुसार routing
Start Logic Jump:
Condition: url:department equals "sales"
Destination: question_sales_intro
Actions: set "department" to "Sales"
URL Variable Conditions
Question-level और start logic jumps दोनों में, आप URL parameters को condition fields के रूप में reference कर सकते हैं। URL variable fields url: prefix के साथ होते हैं:
- Field:
url:firstNameURL parameter?firstName=...को evaluate करता है - Field:
url:sourceURL parameter?source=...को evaluate करता है
URL variable lookups case-insensitive fallback support करते हैं। यदि exact key नहीं मिलती, तो NueForm case-insensitive match try करेगा।
Workflow Editor
NueForm में एक visual Workflow Editor शामिल है जो आपके form की logic को flowchart के रूप में display करता है। प्रत्येक question एक node है, और logic jumps nodes को connect करने वाले edges के रूप में display होते हैं। Workflow editor दिखाता है:
- सभी questions उनके sequential order में nodes के रूप में।
- Logic jump connections nodes के बीच arrows के रूप में।
- प्रत्येक edge पर condition summaries (जैसे, "Rating > 3")।
- Destination labels (question title या "End")।
Workflow editor आपके logic jumps का visual representation है। आप editor से या question के settings panel से सीधे logic jumps add, edit, और remove कर सकते हैं।
Groups में Logic Jump Evaluation
जब कोई question Question Group के अंदर होता है, तो sub-questions पर logic jumps थोड़ा अलग तरीके से काम करते हैं:
- यदि destination उसी group के भीतर कोई अन्य sub-question है, तो navigation group के अंदर internally होता है।
- यदि destination group के बाहर कोई question है, तो group exit हो जाता है और form top level पर destination question पर navigate करता है।
- यदि destination
endहै, तो form submission पर skip करता है।
सर्वोत्तम प्रथाएं
- क्रम महत्वपूर्ण है: Logic jumps top-to-bottom evaluate होते हैं। अधिक specific conditions को अधिक general conditions से पहले रखें।
- हमेशा fallback रखें: यदि आपकी कोई भी condition match नहीं होती, तो form अगले question पर आगे बढ़ता है। यदि आप explicit control चाहते हैं तो end में catch-all jump जोड़ने पर विचार करें।
- अच्छी तरह test करें: अपने form के विभिन्न answer paths test करने के लिए preview function का उपयोग करें।
- Labels का उपयोग करें: अपने logic jumps को descriptive labels दें ताकि workflow editor समझने में आसान हो।
- सरल रखें: Complex nested logic confusing हो सकता है। संबंधित questions को उनके अपने internal logic के साथ organize करने के लिए Question Groups का उपयोग करने पर विचार करें।