我想提交表单而不刷新页面,从我阅读的内容来看,它应该可以与Ajax一起使用,我在做什么错?
当我这样做时,一切都与php和其他东西一起工作:
document.getElementById("msg_form").submit();
但是我希望它提交而不刷新页面。
HTML的一部分:
<form name="msg_form_name" id="msg_form" class="email" action="mailer.php"> <p>Your E-mail:</p> <input id="email_form" name="email" type="text" /> <p>Amount:</p> <input id="amount_form" name="amount" class="amount_num" type="text" maxlength="5" /> <div id="msg_txt_lenght">characters left: 38</div> <p>Message:</p> <input id="message_form" name="message" class="message_form_lim" type="text" > <input type="hidden" id="storeUrl_id" name="storeUrl_form" value="Nan"></form> </form>
JavaScript的一部分:
$('#msg_form').submit(function (e) { e.preventDefault(); $.ajax({ type: 'post', url: 'mailer.php', data: $('form').serialize(), success: function () { alert('form was submitted'); } }); return false; });
提前致谢。
编辑:可能已修复它在提交但没有发送提交
解决了它只是替换了:
$('#msg_form').submit(function (e) { e.preventDefault(); $.ajax({ type: 'post', url: 'mailer.php', data: $('#msg_form').serialize(), success: function () { alert('form was submitted'); } }); return false; });
用这个代替
$.post('mailer.php', $('#msg_form').serialize())