ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • form - console.dir(target)
    React 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}

     

    'React' 카테고리의 다른 글

    Error Handling  (0) 2022.10.23
    react - valid  (1) 2022.10.03
    useRef()  (0) 2022.09.20
    useEffect - cleanup  (0) 2022.09.20
    jsx elementが効かない理由。  (0) 2022.09.19

    댓글

Designed by Tistory.