Reputation: 109
<form class="form">
<div class="container">
<label>URL</label>
<input id="data-url" value="val" type="text" />
</div>
</form>
const formData = new FormData(document.querySelector('.form'));
console.log([...formData])
It is simplified version of HTML, but basically label and input tags are descendants of form. I am trying to get value of input and name of the label using FormData API, but it is empty for some reason.
Upvotes: 1
Views: 835
Reputation: 32002
You need the give the input a name
:
form.addEventListener('submit', function(e) {
e.preventDefault();
const formData = new FormData(form);
console.log([...formData])
})
<form class="form" id="form">
<div class="container">
<label>URL</label>
<input id="data-url" value="val" type="text" name="data-url" />
</div>
<button>View form data</button>
</form>
Upvotes: 5