Получите идентификатор формы или кнопки, на которую ответил addEventListener. - PullRequest
0 голосов
/ 04 декабря 2018

У меня 30 кнопок отправки на этой странице, и мне нужно идентифицировать идентификатор DOM, который отправил отправку.Этот код работает, и все, что мне сейчас нужно, это найти источник отправки.Console.log ("id =" + this.id);показывает id = undefined.

<form id="offspringpicfrm" method="post" enctype="multipart/form-data">
    <input id="offspringpicfile" type="file" name="files[]">
    <input type="submit" value="Upload File" name="submit" id="offspringpicsubmit" >
</form>

const url = 'pedigree_pic_upload.php';
const form = document.querySelector('form');
form.addEventListener('submit', e => {
e.preventDefault();
console.log("id=" + this.id);

const files = document.querySelector('[type=file]').files;
const formData = new FormData();

for (let i = 0; i < files.length; i++) {
    let file = files[i];

    formData.append('files[]', file);
}

fetch(url, {
    method: 'POST',
    body: formData
}).then(response => {
    console.log(response);
});

});

1 Ответ

0 голосов
/ 04 декабря 2018

Вы можете использовать e.target для получения информации об элементе dom:

const form = document.querySelector('form');
form.addEventListener('submit', e => {
  e.preventDefault();
  console.log("id=" + e.target.id);
 })
<form id="offspringpicfrm" method="post" enctype="multipart/form-data">
    <input type="submit" value="Upload File" name="submit" id="offspringpicsubmit" >
</form>
...