Я хотел бы динамически установить значение true в состояние true, если поле ввода пусто.Это делается для того, чтобы я мог стилизовать каждое поле ввода, когда оно пустое, с помощью класса css, когда его состояние равно true.
В моем текущем коде он будет проходить через цикл и устанавливать для последнего пустого элемента значение true, даже если все входные данные пусты.На мой взгляд, я подумал, что он должен установить все, что пусто, в true, но похоже, что цикл будет распознавать только последнюю итерацию.
Как установить значение true для всех пустых входов?
HTML:
<form noValidate onSubmit={this.handleSubmit}>
<label>Name</label>
<input className="form-input" type="text" name="name">
<label>Email</label>
<input className="form-input" type="text" name="email">
<label>Message</label>
<input className="form-input" type="text" name="message">
</Form>
Состояние:
this.state = {
errors: {
name: false,
email: false,
message: false,
},
};
JS:
handleSubmit = (e) => {
let inputFields = document.getElementsByClassName('form-input');
for (var i = 0; i < inputFields.length; i++) {
if (inputFields[i].value === '') {
let inputName = inputFields[i].name;
this.setState({
errors: {
[inputName]: true,
},
});
}
}
}