@David P I see now that you are Shindigz!
That will make it quite easy to integrate fully on the client side, without any server work at all and no rate limit worries. What you want to do is add an additional submit event listener to your form that re-packages the same form data and sends it to Marketo on the same button click.
For example:
form.addEventListener('submit',function(){
var fd=new FormData(this);
fd.append('munchkinID','<your munchkin id here>');
fd.append('formID','<form id here>'); fd.append('Email',this.querySelector('INPUT[type="email"]').value);
// fd.append() all additional Marketo fields here
// this should also check to see if form was considered valid -- passed via first event listener
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://app-xx01.marketo.com/index.php/leadCapture/save2');
xhr.send(fd);
})
I tested this on your page and it worked fine. The only caveat is that if the Shindigz doesn't pass your validation, your first (Shindigz) submit listener needs to tell the next (Marketo) listener about that. Otherwise, the Marketo post will go through even if the Shindigz one is stopped.) Should be easy to do.
Also, this code is known to not work in IE versions < 10 -- generally when I post PoC samples I am not building in backward compatibility, that would be for production work.
EDIT: On your form, one way I can see to relay validation status from one listener to the other is to check (this.querySelector('DIV.email-form-messagebox-wrapper').style.display == 'none') -- i.e. whether a message box is currently popped up. Not the cleanest way of doing it but works.
EDIT2: This forum really should have better code embedding because some of us are posting HTML, CSS, and JS here.