| description |
|---|
How to integrate Checkbox with Web3Forms Properly |
There are some confusions on how multiple checkboxes works and how to to integrate it with Web3Forms.
If you simply added a checkbox like this and sent the data to a regular form action, check would return on or off based on whether the user checked or not.
<input type="checkbox" name="check">However, if you need to add a value to your checkbox, you need to define it like this:
<input type="checkbox" name="check" value="checked">
Now, this would return check: checked
You need to add the same name with different values for multiple checkboxes. See:
<label>Interests</label>
<input type="checkbox" id="coding" name="interest" value="coding" />
<input type="checkbox" id="music" name="interest" value="music" />Web3Forms will then automatically parse them to be comma-separated like this:
Interests
coding,music
If you are using javascript, you have to manually stringify multiple data like this before sending the request to Web3Forms API. See example code:
const formData = new FormData(form);
const interests = [];
form.querySelectorAll('input[name="interest"]:checked').forEach((checkbox) => {
interests.push(checkbox.value);
});
formData.set('interest', interests);This will set the checkbox as you intended.
{% embed url="https://codepen.io/surjithctly/pen/eYobEbO" %} View Codepen {% endembed %}