Last active
April 23, 2024 17:29
-
-
Save escopecz/136f62b66d526bc32006f0d2358a8e15 to your computer and use it in GitHub Desktop.
An example of how to send a form submission to a Mautic form with jQuery
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8"> | |
<title>Mautic Form Test</title> | |
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> | |
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> | |
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" type="text/css" /> | |
</head> | |
<body> | |
<div class="container"> | |
<div class="col-md-6 col-md-offset-3"> | |
<h2>Mautic Test</h2> | |
<form id="mautic" method="post" action="http://mautic.test/form/submit"> | |
<input type="hidden" name="formId" value="284" /> | |
<input type="hidden" name="return" value="this-must-exist" /> | |
<input type="hidden" name="formName" value="" /> | |
<input type="hidden" name="messenger" value="1" /> | |
<div class="form-group"> | |
<label for="first_name">First Name</label> | |
<input type="text" class="form-control" id="first_name" name="first_name" placeholder="First Name" value="John"> | |
</div> | |
<div class="form-group"> | |
<label for="last_name">Last Name</label> | |
<input type="text" class="form-control" id="last_name" name="last_name" placeholder="Last Name" required value="Linhart"> | |
</div> | |
<div class="form-group"> | |
<label for="company">Company Name</label> | |
<input type="text" class="form-control" id="company" name="company" placeholder="Company Name" required value="Mautic"> | |
</div> | |
<div class="form-group"> | |
<label for="email">Email Address</label> | |
<input type="email" class="form-control" id="email" name="email" placeholder="Email Address" required value="[email protected]"> | |
</div> | |
<button type="submit" class="btn btn-primary">Submit</button> | |
</form> | |
</div> | |
</div> | |
<script type="text/javascript"> | |
$(() => { | |
$('#mautic').on('submit', (e) => { | |
e.preventDefault(); | |
let form = $('#mautic'); | |
let values = {mauticform: form.serializeArray().reduce((obj, val) => { obj[val.name] = val.value; return obj; }, {})}; | |
$.ajax({ | |
url: form.attr('action') + '?formId=' + form.find('[name=formId]').val(), | |
data: $.param(values), | |
type: 'POST', | |
headers: {'X-Requested-With': 'XMLHttpRequest'}, | |
success: (content, status, xhr) => { | |
console.log('The submission was successful.'); | |
}, | |
error: (xhr) => { | |
console.log('An error occured when submitting the form'); | |
}, | |
}); | |
}); | |
}); | |
</script> | |
</body> | |
</html> |
@peseotni in your javascript, you have just a script for posting data, but you are missing an event (on click submit button, etc.) to trigger that script and validation of inputs. If you are not familiar with javascript use embeds from mautic administration, pls...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@bebjakub here it is:
https://jsfiddle.net/peseotni/k92dcrzg/#&togetherjs=egReh13vuc
thanks for your help
this is what I get in mautic