I'm writing a small code that has an HTML form and when I click the button, it should send data to js. but unfortunately, it is printing blank. Here is my code.
function postData() {
const form = document.getElementById('form');
const data = new FormData(form);
data.append('contact_name', form.contact_name.value);
data.append('contact_email', form.contact_email.value);
data.append('contact_subject', form.contact_subject.value);
data.append('message', form.message.value);
console.log(JSON.stringify(data));
return false;
}
<div class="form">
<div class="row">
<p class="success" id="success" style="display:none;"></p>
<p class="error" id="error" style="display:none;"></p>
<form name="contact_form" method="post" form action="javascript:postData()" id="form">
<div class="col-md-4"><input type="text" data-delay="300" placeholder="Your full name" name="contact_name" id="contact_name" class="input"></div>
<div class="col-md-4"><input type="text" data-delay="300" placeholder="E-mail Address" name="contact_email" id="contact_email" class="input"></div>
<div class="col-md-4"><input type="text" data-delay="300" placeholder="Subject" name="contact_subject" id="contact_subject" class="input"></div>
<div class="col-md-12"><textarea data-delay="500" class="required valid" placeholder="Message" name="message" id="message"></textarea></div>
<div class="col-md-2"><input type="submit" value="Submit">
</div>
</form>
</div>
</div>
Please let me know where am I going wrong and how can I fix this.
Thanks