I'm having issue submitting search form on hitting enter as well as button click. The click works fine. Text is cleared, the /search page renders and search index shown. When I hit enter, the search text clears, but nothing else. I've added a functions handleSubmit, but it does't work. How do I make it search on enter?
handleSubmit(e) {
e.preventDefault(e);
document.getElementById("search-input")
.addEventListener("keydown", function (event) {
// event.persist();
if (event.keyCode === 13) {
document.getElementById("search-button").click();
}
});
this.setState( {
searchItem: "",
})
};
render() {
return (
<div id="search-form">
<form>
<input
type="text"
id="search-input"
placeholder="Search videos"
value={this.state.searchItem}
onChange={this.update()}
/>
<button type="submit" id="search-button" onClick={this.handleSubmit}>
<Link to={`/search?search=${this.state.searchItem}`}><img id="search-icon" src="https://image.flaticon.com/icons/svg/49/49116.svg" alt="" /></Link>
</button>
</form>
</div>
);
}