When using checkboxes in the form, you have to define the displayed value and the stored value. A few points here:
- Your field type is integer. Meaning you can only store 1 number if the field. So the "stored values" you define in the form has to be numeric
- You have displayed your 1st field as Checkboxes. This means that a visitor can check multiple boxes. A Internet type fields cannot store multiple values. Only text fields can.
So you need to change the 1st field type to string, not Integer. You can only do this by removing any usage of the field (including in the form) then change the field type, then add the field back where it was used.
For the second field, it's probably linked to the "stored valued" that are not set as numbers.
Like Greg says, if you're sending Strings to Marketo (in the case of Checkboxes, a semicolon-delimited String representing multiple values) but the back end is expecting an Integer, you will lose data.
What can be confusing is that you don't lose all data. A String without any numbers, or which doesn't have a number at the start, will be stored as Integer 0. However a value that starts with a number (a "numeroalphabetic" string) will retain that initial number. So if you happen to have a checkbox list like "66 apples;11 oranges; 23 pears" the final value will be 66. If it were "apples;oranges;23 pears" the value would be 0.
Needless to say, you want to stay far, far away from any datatype conversion surprises.