Conditional Logic

Forsta HX Platform - API Scripting Guide

Conditional Logic

Simple:

f('AQ1').on('change', function() {
    var val = f('AQ1').get();
    if (val === '1') {
        f('AQ2').show();
        f('AQ3').show();
    } else {
        f('AQ2').hide();
        f('AQ3').hide();
    }
});

Multiple Conditions:

function updateVisibility() {
    var age = parseInt(f('AQ1').get());
    var gender = f('BQ2').get();
    
    // Pregnancy Q for females 18-50
    if (gender === '2' && age >= 18 && age <= 50) {
        f('CQ3').show();
    } else {
        f('CQ3').hide();
    }
}

['AQ1', 'BQ2'].forEach(function(qid) {
    f(qid).on('change', updateVisibility);
});

Skip Section:

f('AQ1').on('change', function() {
    var val = f('AQ1').get();
    if (val === '0') {
        // Skip section B
        ['BQ1', 'BQ2', 'BQ3'].forEach(function(qid) {
            f(qid).hide();
        });
    } else {
        ['BQ1', 'BQ2', 'BQ3'].forEach(function(qid) {
            f(qid).show();
        });
    }
});