Application forms · 9 fields
Employment application
Made for hiring where availability and pay matter as much as the CV, such as shift work, part-time and contract roles. For a single salaried opening, the job application template is shorter.
Employment application
Live demo: try the fields. Submitting sends nothing.
02 / Field guide
Why these fields
Full name
text · requiredFull name captures a short, searchable answer and is required to complete the request.
Email
email · requiredEmail provides a validated reply address and is required to complete the request.
Phone
tel · requiredPhone provides a direct callback option and is required to complete the request.
Position
text · requiredPosition captures a short, searchable answer and is required to complete the request.
Employment type
select · optionalEmployment type keeps answers consistent for filtering and routing but remains optional.
Available start date
date · optionalAvailable start date collects an unambiguous date but remains optional.
Expected salary
number · optionalExpected salary collects a value that can be validated and compared but remains optional.
Summary of experience
textarea · optionalSummary of experience leaves room for context and detail but remains optional.
Resume / CV
file · requiredResume / CV lets the respondent attach supporting evidence and is required to complete the request.
03 / Make it yours
Choose your stack. Copy your form.
Replace the example endpoint with your Formward endpoint, then adapt the fields to your needs.
<form action="https://forms.formward.eu/f/your-form-id" method="POST" enctype="multipart/form-data">
<label for="name">Full name</label>
<input type="text" name="name" id="name" required />
<label for="email">Email</label>
<input type="email" name="email" id="email" required />
<label for="phone">Phone</label>
<input type="tel" name="phone" id="phone" required />
<label for="position">Position</label>
<input type="text" name="position" id="position" required />
<label for="type">Employment type</label>
<select name="type" id="type">
<option value="Full-time">Full-time</option>
<option value="Part-time">Part-time</option>
<option value="Contract">Contract</option>
<option value="Internship">Internship</option>
</select>
<label for="start_date">Available start date</label>
<input type="date" name="start_date" id="start_date" />
<label for="salary">Expected salary</label>
<input type="number" name="salary" id="salary" />
<label for="summary">Summary of experience</label>
<textarea name="summary" id="summary"></textarea>
<label for="resume">Resume / CV</label>
<input type="file" name="resume" id="resume" accept=".pdf,.doc,.docx" required />
<input type="text" name="_gotcha" tabindex="-1" autocomplete="off" style="position:absolute;left:-9999px" aria-hidden="true" />
<button type="submit">Send</button>
</form>Accessibility
Accessible by default, and how to keep it that way
- Every field in the code has a visible label tied to it with for and id, so screen readers announce what to enter and a click on the label focuses the field.
- Required fields carry the required attribute, so the browser explains a missing answer before anything is sent. Say “required” in words as well; an asterisk or a colour alone is easy to miss.
- The spam trap field (_gotcha) is hidden from screen readers with aria-hidden and skipped by the Tab key, so people never meet it.
- In the JavaScript versions, show the confirmation or error in an element with role="status" so the result is announced, and keep the entered answers when sending fails.
Changed the fields? Paste your version into the HTML form tester to see exactly what it sends, or run it through the GDPR form checker.
Customize before publishing
- Remove fields you do not need and mark only essential answers as required.
- Replace placeholder wording with terms your audience already understands.
- Add your privacy notice, retention details and expected response time.
- Test keyboard focus, validation errors and the confirmation state on mobile.
Use this template
Create a free account and the form is set up from this template. Copy your endpoint and replace https://forms.formward.eu/f/your-form-id in the code above.