rendezz / formbuilder_depends

A plugin of sorts to kevinchappell/formBuilder to create dependencies between fields
MIT License
8 stars 3 forks source link

Creating a conditional on a Header field throws an error and stops conditionals from working all together #6

Open jayden626 opened 3 years ago

jayden626 commented 3 years ago

Adding a conditional on a header field will cause the following error:

Uncaught TypeError: Cannot read property 'match' of undefined
    at getFieldInformation (depends_render.js:106)
    at HTMLHeadingElement.<anonymous> (depends_render.js:4)

This can be reproduced by changing the rendered form data as follows:

let form = $('#fb-render').formRender({
            dataType: 'json',
            formData: '[{"type": "header","subtype": "h1","label": "Header","access": false,"dependson_type": "select","dependson_code": "select:select-1:file"},{"type":"text","required":true,"label":"First Name","description":"The first name of the user","placeholder":"Joe","className":"form-control","name":"text-1590233841964","subtype":"text"},{"type":"text","required":true,"label":"Surname","description":"The surname of the user","placeholder":"Bloggs","className":"form-control","name":"text-1590263684643","subtype":"text"},{"type":"select","required":true,"label":"Select Showing","className":"form-control","name":"select-1","values":[{"label":"File Upload","value":"file","selected":true},{"label":"Text Area","value":"text"},{"label":"Paragraph","value":"paragraph"},{"label":"Checkboxes","value":"checkbox"}]},{"type":"checkbox-group","required":true,"label":"Checkbox Group","toggle":false,"inline":false,"name":"checkbox-group-1590626553748","other":false,"dependson_type":"select","dependson_code":"select:select-1:checkbox","values":[{"label":"Option 1","value":"option-1"},{"label":"Option 2","value":"option-2"}]},{"type":"file","required":true,"label":"File Upload","className":"form-control","name":"file-1590612724784","subtype":"file","multiple":false,"dependson_type":"select","dependson_code":"select:select-1:file"},{"type":"textarea","required":true,"label":"Text Area","className":"form-control","name":"textarea-1590613977962","subtype":"textarea","dependson_type":"select","dependson_code":"select:select-1:text"},{"type":"paragraph","subtype":"p","label":"Paragraph","dependson_type":"select","dependson_code":"select:select-1:paragraph"},{"type":"checkbox-group","required":true,"label":"Show Stuff","toggle":false,"inline":false,"name":"checkbox-group-1590527722259","other":false,"values":[{"label":"Date","value":"date"},{"label":"Email","value":"email"}]},{"type":"date","required":true,"label":"Date Field","className":"form-control","name":"date-1590612707088","dependson_type":"checkbox-group","dependson_code":"checkbox-group:checkbox-group-1590527722259:date:checked"},{"type":"text","required":true,"label":"Email Address","className":"form-control","name":"text-1590342667192","subtype":"text","pattern":".*@.*","dependson_type":"checkbox-group","dependson_code":"checkbox-group:checkbox-group-1590527722259:email:checked"},{"type":"radio-group","required":true,"label":"Show Some Radio","inline":false,"name":"myradiogroup","other":false,"values":[{"label":"Number","value":"number"},{"label":"Radio","value":"radio"},{"label":"Select","value":"select"}]},{"type":"number","required":true,"label":"Number","className":"form-control","name":"number-1590612744792","min":5,"max":10,"dependson_type":"radio-group","dependson_code":"radio-group:myradiogroup:number"},{"type":"radio-group","required":true,"label":"Radio Group 2","inline":false,"name":"second-radio","other":false,"dependson_type":"radio-group","dependson_code":"radio-group:myradiogroup:radio","values":[{"label":"Chose","value":"option-1"},{"label":"Me","value":"option-2"},{"label":"Option 3","value":"option-3"}]},{"type":"select","required":true,"label":"Select","className":"form-control","name":"select-1590624165437","dependson_type":"radio-group","dependson_code":"radio-group:myradiogroup:select","values":[{"label":"Option 1","value":"option-1","selected":true},{"label":"Option 2","value":"option-2"},{"label":"Option 3","value":"option-3"}]}]',
        });

I don't expect fixes to these issues, I'm just making them known to help others. Cheers

flipdoubt commented 1 year ago

I found the same issue with headers.