I tried following that. But it doesn’t show the native success or error message. Anyway, I got it worked somehow. Not sure if it’s entirely correct, but it works. Sharing it below.
<script type="text/javascript">
$("#formID").submit(function(e){
e.preventDefault();
var action = $(this).attr("action");
var data = {};
$(this).serializeArray().map(function(x){data[x.name] = x.value;});
$.ajax({
type: "POST",
url: action,
data: JSON.stringify(data),
contentType: "application/json",
headers: {
"Accept": "application/json"
}
}).done(function() {
$('form').css('display','none');
$('.w-form-done').css('display','block');
}).fail(function() {
$('.w-form-fail').css('display','block');
});
});
</script>