Unable to Hide Field when i Choose None Option

rajeshraji1
Tera Expert

I have created three choice include none, All my choices work as expected but when i choose choice 1 to None it fail to hide the filed and same for choice 2 and 3 as well kindly  need clarity on this.

 


function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading && newValue === '') {
        return; // Prevent running during initial load if newValue is empty
    }
    if (newValue === oldValue) {
        return;
    }
    handleEmployeeTypeChange(newValue);
}

function handleEmployeeTypeChange(selectedType) {
    // Field names

    var employeeNameField = 'employee_name';
    var employeeIdField = 'employee_id';
    var traineeNameField = 'trainee_name';
    var traineeIdField = 'trainee_id';
    var studentNameField = 'student_name';
    var studentIdField = 'student_id';

    // Function to set field visibility and mandatory status
    function setFieldDisplayAndMandatory(fieldName, visible, mandatory) {
        g_form.setDisplay(fieldName, visible);
        g_form.setMandatory(fieldName, mandatory);
    }

    // Initially hide and make all fields non-mandatory
    setFieldDisplayAndMandatory(employeeNameField, false, false);
    setFieldDisplayAndMandatory(employeeIdField, false, false);
    setFieldDisplayAndMandatory(traineeNameField, false, false);
    setFieldDisplayAndMandatory(traineeIdField, false, false);
    setFieldDisplayAndMandatory(studentNameField, false, false);
    setFieldDisplayAndMandatory(studentIdField, false, false);

    // Show and set mandatory based on the selected choice
    if (selectedType === '') {
        setFieldDisplayAndMandatory(employeeNameField, false, false);
        setFieldDisplayAndMandatory(employeeIdField, false, false);
        setFieldDisplayAndMandatory(traineeNameField, false, false);
        setFieldDisplayAndMandatory(traineeIdField, false, false);
        setFieldDisplayAndMandatory(studentNameField, false, false);
        setFieldDisplayAndMandatory(studentIdField, false, false);
    } else if (selectedType === 'newemployee') {
        setFieldDisplayAndMandatory(employeeNameField, true, true);
        setFieldDisplayAndMandatory(employeeIdField, true, true);
        setFieldDisplayAndMandatory(traineeNameField, false, false);
        setFieldDisplayAndMandatory(traineeIdField, false, false);
        setFieldDisplayAndMandatory(studentNameField, false, false);
        setFieldDisplayAndMandatory(studentIdField, false, false);
    } else if (selectedType === 'trainee') {
        setFieldDisplayAndMandatory(employeeNameField, false, false);
        setFieldDisplayAndMandatory(employeeIdField, false, false);
        setFieldDisplayAndMandatory(traineeNameField, true, true);
        setFieldDisplayAndMandatory(traineeIdField, true, true);
        setFieldDisplayAndMandatory(studentNameField, false, false);
        setFieldDisplayAndMandatory(studentIdField, false, false);
    } else if (selectedType === 'student') {
        setFieldDisplayAndMandatory(studentNameField, true, true);
        setFieldDisplayAndMandatory(studentIdField, true, true);
        setFieldDisplayAndMandatory(employeeNameField, false, false);
        setFieldDisplayAndMandatory(employeeIdField, false, false);
        setFieldDisplayAndMandatory(traineeNameField, false, false);
        setFieldDisplayAndMandatory(traineeIdField, false, false);
    }
 
}
  // If 'none' or any other value is selected, the fields remain hidden 
 

 

6 REPLIES 6

rajeshraji1
Tera Expert

@Ankur Bawiskar its not working 

@rajeshraji1 

what debugging did you perform?

did you add alert and see?

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader