FormData

2023. 7. 31. 12:30django/Views

예, `FormData` 객체를 사용하여 폼 데이터를 추출할 때, `type="hidden"` 속성이 있는 요소들도 포함됩니다. `FormData` 객체는 HTML 폼 내의 모든 input 요소들의 데이터를 가져옵니다. 따라서 `type="hidden"` 속성이 있는 숨겨진 입력 필드도 값을 포함합니다.

`FormData` 객체를 사용하는 방법에는 두 가지가 있습니다. 하나는 `FormData` 생성자에 폼 요소 자체를 전달하는 방법이고, 다른 하나는 `FormData` 객체를 생성한 후, `append()` 메서드를 사용하여 폼 데이터를 추가하는 방법입니다.

1. `FormData` 생성자에 폼 요소 전달하기:

```html
<form id="Frm">
    <input type="text" name="username" value="John">
    <input type="hidden" name="hiddenField" value="Hidden Value">
</form>

<script>
    let form = document.querySelector('#Frm');
    let formData = new FormData(form);
    let object = {};

    formData.forEach(function (value, key) {
        object[key] = value;
    });

    console.log(object);
</script>
```

위 코드를 실행하면 콘솔에 `{username: "John", hiddenField: "Hidden Value"}`와 같이 `type="hidden"` 속성이 있는 요소도 포함된 폼 데이터를 확인할 수 있습니다.

2. `FormData` 객체에 `append()` 메서드로 폼 데이터 추가하기:

```html
<form id="Frm">
    <input type="text" name="username" value="John">
    <input type="hidden" name="hiddenField" value="Hidden Value">
</form>

<script>
    let formData = new FormData();
    formData.append('username', 'John');
    formData.append('hiddenField', 'Hidden Value');

    let object = {};

    formData.forEach(function (value, key) {
        object[key] = value;
    });

    console.log(object);
</script>
```

두 가지 방법 모두 `type="hidden"` 속성이 있는 요소를 포함하여 폼 데이터를 추출합니다.