JavaScript FormData.set() — задати поле форми
Метод set() задає поле, замінюючи всі попередні значення з таким іменем.
Загальний опис
Різниця з append() та сама, що й у URLSearchParams: set() замінює, append() додає.
Типове застосування — перезаписати значення, взяте з форми: підмінити файл на стиснуту версію, підставити правильний ідентифікатор, підправити поле перед відправкою.
автор: NagarD
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| set | 7+ | 4+ | 5+ | 12+ | 12+ | 10+ |
| Переглядач | ||||
|---|---|---|---|---|
| set | 3+ | yes | yes | 5+ |
Приклади
+ запропонувати свій приклад у пісочниці
Підмінити оригінал стиснутою версією перед відправкою.
HTML
<form id="f">
<input type="text" name="source" value="app">
</form>
JS
(async () => {
const form = document.getElementById('f');
const data = new FormData(form);
// «стискання»: у житті тут канвас або бібліотека
const compressed = new Blob(['стиснуте зображення'], { type: 'image/webp' });
data.set('photo', compressed, 'photo.webp');
// set перезаписує поле форми (append — додав би друге)
data.set('source', 'web');
console.log('Поля:', [...data.keys()], '→ source =', data.get('source'));
try {
await fetch('/api/upload', { method: 'POST', body: data });
} catch (error) {
console.log('У пісочниці немає сервера:', error.message);
}
})();
Коментарі
Коментарів ще немає — будьте першим!