How to use fields of a flag instead of only toggling the flag?
When configuring flag(s) (using the Flag module), you can indeed attach fields to them. However when doing so, make sure to also be aware about (and do) what is described in Attaching fields to flags, i.e.:

By default, Flags use the &quot;JavaScript toggle&quot; link-type. While this allows entities to be flagged without reloading the page, users cannot set any field values with the Flag. In order for users to set a Flag's field values, you must use the &quot;Form&quot; link type.
Navigate to Administration &gt; Structure &gt; Flags page. Click the Edit link for the Flag. Scroll down to the Display Options box and select the Confirmation Form radio button.