JSFiddle - React, Tailwind, and code Playground
HTML
<div class="container">
<form action="post" id="form">
<label>Поле 1
<input name='field-1' type="text">
</label>
<label>Поле 2
<input name="field-2" type="text">
</label>
<button>Click!</button>
</form>
<h3>Result</h3>
<div class="result">
</div>
</div>
CSS
#form {
width: 400px;
display: flex;
flex-wrap: wrap;
flex-flow: column;
}
#form label {
margin-bottom: 1em;
}
.result {
display: flex;
flex-flow: column;
justify-content: flex-start;
align-items: flex-start;
width: 400px;
min-height: 50px;
border: 1px solid black;
}
JavaScript
const myForm = document.getElementById('form');
const resultField = document.querySelector('.result')
// Список запрещенных слов
const props = [1, 2, 3, 'some', 'value'];
const isAllowed = (propsArr, value) => {
for (let prop of propsArr) {
const stringProp = prop.toString();
// includes() не работает в IE, используй ругулярки
if (value === stringProp && value.includes(stringProp)) {
return false;
}
}
return true;
}
myForm.addEventListener('submit', function(e) {
e.preventDefault();
// не забудь очистить форму
resultField.innerHTML = '';
let formData = new FormData(myForm);
for (let [name, value] of formData) {
if (value && isAllowed(props, value)) {
const textNode = document.createElement('p');
textNode.innerHTML = `form field ${name} value is ${value}`;
resultField.appendChild(textNode);
}
}
})