querySelectorとpreventDefaultを使ってみる

目次
querySelector
input エリアの値は getElementById、e.target.value 以外にも、querySelector を使っても値を取得出来るみたいなので、試してみました。
const keyDown = (e) => {
if (e.key === "Enter") {
//console.log("Enterキーが押されました!")
// const word = document.getElementById("textval").value
//const word = e.target.value
const word = document.querySelector("#textval").value;
console.log(word);
}
};
input エリアに id 属性が設定されているのであれば、#id 名を。クラス属性ならば、.クラス名を設定してあげます。
onSubmit
前回は e.key===Enter を使って Enter キーが押されたかを判断していました。
form タグを使っても可能な様なので、こちらも試してみる事に。
<form onSubmit={keyDown}>
<input type="text" placeholder="検索ワードを入力" id="textval" />
</form>
form に onSubmit を設定
const keyDown = (e) => {
const word = document.querySelector("#textval").value;
//検索処理
};
これで試してみると…
input に検索語句を入力して Enter を押すと、ブラウザがリロードされるだけで、検索処理が行われませんでした。
preventDefault
const keyDown = (e) => {
const word = document.querySelector("#textval").value;
e.preventDefault();
//検索処理
};
preventDefault を設定する事で、ブラウザのリロードが行われなくなり、検索結果が無事表示されました。
form を使ってのやり方も分かりましたが、今回は e.key===Enter を使っての方法で行こうかと思っています。