Creating forms is through the <form> element. The <input> element is for your form fields which includes radio buttons and check boxes. The input element also is used to create the submit button. You can use the <select> element to create a drop down menu of choices.

<form> Element
The form element is how you let the document know when a form begins and ends. It also is where you tell the document how the information is sent through the words action="method of transmission". The action atribute usually has a link to a script that will tell the browser how to send the information to the owner of the site. There is one other attribute used in the form element and that is the method attribute. The method attribute would either have get or post. Generally you want to use post as that is the most secure way to send data plus you can send more data.

<form action="/action_page.php" method="post">

<input> Element
The input element is how the form gathers data. The input element displays several ways depending on the type attribute. If the type="text" then it is a single line of text. If you want multi-lines of text then you would use the <textarea> element. If the type="checkbox" then you will have an input field with a check box. If the type="radio" then you will have an input field with a radio button. If the type="submit" then you will have a submit button which will submit the form and all its data.

When using the checkbox and radio types you would indicate the choices are together by using the name attribute. You would use a name that describes what all of the choices are. For example if the choices are male, female or other a good name="gender". In addition you would also need to use the value attribute. The value attribute would idicate the same as the actual choice. This value would actually be sent when the form is submitted. So if the user picked female the value="female" would be sent to the person who recieves the form leads. As a general rule of thumb you use the name attribute to identify all the fields in input fields. And you can use the value attribute on text fields to have a pre filled out value in the form. Generally, most people have what the field is for. Its also a way to avoid having to have labels for really short forms like newsletter email collection.

Here is the code for most of the element mentioned in this wiki page. :

<form action="/action_page.php">
    First name:<br>
    <input type="text" name="firstname" value="Mickey"><br>
    Last name:<br>
    <input type="text" name="lastname" value="Mouse"><br>
    Email:<br>
    <input type="text" name="email" value="email@email.com"><br>
    Gender:
    <input type="radio" name="gender" value="male" checked> Male<br>
    <input type="radio" name="gender" value="female"> Female<br>
    <input type="radio" name="gender" value="other"> Other 
    If Other please specify:<br>
    <input type="text" name="genderother"><br>
    What Country do you live in?<br>
    <select id="country" name="country">
      <option value="australia">Australia</option>
      <option value="canada">Canada</option>
      <option value="usa">USA</option>
    </select><br>
    Cat or dog? Check all that apply<br>
    <input type="checkbox" name="pet" value="Dog"> Dog<br>
    <input type="checkbox" name="pet" value="Cat""> Cat<br>
    Questions or comments?<br>
    <textarea name="comments" rows="10" cols="250"></textarea><br><br>
    <input type="submit" value="Submit">
</form>

Here is what it looks like:

Note Do not submit form.


Resources

https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_form_checkbox
https://www.w3schools.com/html/html_forms.asp
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_form_radio
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_contact_form
https://www.w3schools.com/howto/howto_css_contact_form.asp