I'm using Sitecore 9 Forms currently (not WFFM forms). After adding a Single-Line Text element, when I look at the HTML output generated by the form, I noticed that there are 2 additional hidden input fields getting added by default, before the label and input elements corresponding to the text field. It's usually in this format as show below (displaying the GUIDs with string "guid"):
<div data-sc-field-key="guid" class="abc">
<input id="fxb_guid_Fields_Index_guid" name="fxb.guid.Fields.Index" type="hidden" value="guid"> <!-- what is this used for? -->
<input id="fxb_guid_Fields_guid__ItemId" name="fxb.guid.Fields[guid].ItemId" type="hidden" value="guid"> <!-- what is this used for? -->
<label for="fxb_guid_Fields_guid__Value" class="abc" id="abc">Label</label> <!-- Label for textfield -->
<input id="fxb_guid_Fields_guid__Value" name="fxb.guid.Fields[guid].Value" class="abc" type="text" .....> <!-- Input for textfield -->
</div>
What are the function of these input elements and if possible, where can I see how it is being used in the source code?