小编典典

提交表单而不刷新页面ajax,php,javascript?

ajax

我想提交表单而不刷新页面,从我阅读的内容来看,它应该可以与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;
});

提前致谢。

编辑:可能已修复它在提交但没有发送提交


阅读 258

收藏
2020-07-26

共1个答案

小编典典

解决了它只是替换了:

$('#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())
2020-07-26