I have below html and javascript but on form submission I get an error Method not allowed though I would like to stay on the same index.html and show the success message.
I have debugged the javascript and it bypasses the if condition even I put valid info.
index.html
JavaScript
x
<form method="post" name="FrmEnquiry" id="FrmEnquiry" onsubmit=" return sendEnquiryform();">
<input name="name" id="name" required="required" placeholder="Your Name">
<input name="email" id="email" type="email" required="required" placeholder="Your Email">
<div class="clearfix"> </div>
<textarea name="message" id="message" cols="20" rows="5" required="required" placeholder="Message"></textarea>
<div class="submit">
<input id="submit" name="submit" type="submit" value="Submit">
</div>
</form>
<span id="sucessMessage"> </span>
javascript.js
JavaScript
var name = $('#name').val();
var email = $('#email').val();
var message = $('#message').val();
$.post('mail.php', '&name=' + name + '&email=' + email + message, function(
result,
status,
xhr
) {
if (status.toLowerCase() == 'error'.toLowerCase()) {
alert('An Error Occurred..');
} else {
alert(result);
$('#sucessMessage').html(result);
}
}).fail(function(xhr, status, error) {
console.log(error); // this shows 'method not allowed' and then i get below alert
alert('something went wrong. Please try again');
});
return false;
}
Advertisement
Answer
You need to add action
tag to your form.
Like this:
<form method="post" name="FrmEnquiry" id="FrmEnquiry" onsubmit=" return sendEnquiryform();" action="">
You can add the value where you want to send the post to.
Also refer to: https://www.w3schools.com/tags/att_form_action.asp