JS - wysyłanie requesta z formularza

JS - wysyłanie requesta z formularza
Nindzia
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 3 lata
  • Postów:255
0

Mam formularz, ale w requeście chcę wysłać do pliku dom.php jedynie kilka elementów z tego formularza.

Kopiuj
form.addEventListener('submit', (e) => {
    e.preventDefault();

    const formData = new FormData(this);
    
    fetch('dom.php', {
        method: 'post',
        body: formData
    }).then(function (resp) {
        return resp.text();
    }).then(function (text) {
        console.log(text);
    }).catch(e => {
        console.log(e);
    })
})

Tutaj w tworzę nowy obiekt FormData(this) przekazując mu cały formularz, jak to zamienić, aby wysłać jedynie np. wartość z inputa name i email?

PH
  • Rejestracja:ponad 5 lat
  • Ostatnio:około rok
  • Postów:374
0

getElementByClassName.value

złoty
  • Rejestracja:ponad 17 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Warszawa
  • Postów:108
0

W Twojej metodzie

Kopiuj
form.addEventListener('submit', (e) => {
    e.preventDefault();

    const formData = new FormData(this);
...

this wskazuje na obiekt form, do którego dodawany jest event listener.
Następujący zapis

Kopiuj
const formData = new FormData(this);

tworzy nowy obiekt typu FormData zawierający wszystkie pola formularza (pobrane z this).
Jeżeli chcesz przesłać jedynie część danych z formularza możesz ręcznie dodać pola do FormData:

Kopiuj
const formData = new FormData();
formData.append('name', document.getElementById('name').value);
formData.append('email', document.getElementById('email').value);
Nindzia
tak, już do tego doszedłem, ale dzięki

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.