JSFiddle - React, Tailwind, and code Playground
HTML
<div class="wrapper">
<ol>
<li>
<div class="input-item">
<label for="item1">Item 1</label>
<input type="text" id="item1" name="item1">
<div class="error"></div>
</div>
</li>
<li>
<div class="input-item">
<label for="item2">Item 2</label>
<input type="text" id="item2" name="item2">
<div class="error"></div>
</div>
</li>
<li>
<div class="input-item">
<label for="item3">Item 3</label>
<input type="text" id="item3" name="item3">
<div class="error"></div>
</div>
</li>
<li>
<div class="input-item">
<label for="item4">Item 4</label>
<input type="text" id="item4" name="item4">
<div class="error"></div>
</div>
</li>
<li>
<div class="input-item">
<label for="item5">Item 5</label>
<input type="text" id="item5" name="item5">
<div class="error"></div>
</div>
</li>
<li>
<div class="input-item">
<label for="item6">Item 6</label>
<input type="text" id="item6" name="item6">
<div class="error"></div>
</div>
</li>
<li>
<div class="input-item">
<label for="item7">Item 7</label>
<input type="text" id="item7" name="item7">
<div class="error"></div>
</div>
</li>
<li>
<div class="input-item">
<label for="item8">Item 8</label>
<input type="text" id="item8" name="item8">
<div class="error"></div>
</div>
</li>
</ol>
<br />
<button id="button" onclick={validateForm()}>
...
CSS
ol {
background-color: lightblue;
list-style-type: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
flex-wrap: wrap;
max-height: 100px;
}
@media (max-width: 500px) {
ol {
display: block;
max-height: none;
}
}
ol li {
flex: 1 auto;
}
.error {
color: firebrick;
}
JavaScript
const submitButton = document.getElementById("button");
submitButton.onclick = validateForm;
/* Checks to see if the form inputs are empty. If so, display error message */
function validateForm() {
const inputItems = document.getElementsByClassName('input-item')
for (const item of inputItems) {
const input = item.children[1]
if (input.value === '') {
item.children[2].innerHTML = 'Enter an input'
}
}
}