React
form - console.dir(target)
jyeounjae
2022. 9. 28. 22:52
<script type="text/babel">
const rootElement = document.getElementById("root");
const App = () => {
const handleSubmit = (event) => {
event.preventDefault();
console.dir(event.target);
alert(
`FirstName : ${event.target.elements.fname_id.value}, LastName : ${event.target.elements.lname.value}`
);
};
return (
<form onSubmit={handleSubmit}>
<label htmlFor="fname">First name:</label>
<br />
<input type="text" id="fname_id" name="fname" defaultValue="John" />
<br />
<label htmlFor="lname">Last name:</label>
<br />
<input type="text" id="lname" name="lname" defaultValue="Doe" />
<br />
<br />
<input type="submit" defaultValue="Submit" />
</form>
);
};
ReactDOM.render(<App />, rootElement);
</script>
const handleSubmit = (event) => {
event.preventDefault();
console.dir(event.target);
alert(
`FirstName : ${event.target.elements.gg.value}, LastName : ${event.target.elements.lname.value}`
);
formのsubmitイベントが発生すると、handleSubmit()が呼び出されます。
普段、formのsubmitをするとページがリロードされますが、リロードさせたくない場合!
event.preventDefault();を追加してDefaultイベントを発生させないようにします。
console.dir(event.target)はtarget objectを操作する際にdir()呼び出しして、target objectの構造が確認できます。
以下はconsole.dir(event.target)の出力のelementsの内容。これを参考にして以下のようにデータにアクセスができます。
${event.target.elements.fname_id.value}
