【问题标题】:Submit form without refreshing page ajax,php,javascript?提交表单而不刷新页面ajax,php,javascript?
【发布时间】:2014-03-03 22:43:33
【问题描述】:

我想在不刷新页面的情况下提交表单,根据我的阅读,它应该可以使用 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;
});

提前致谢。

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

【问题讨论】:

  • 那么问题出在哪里?它有效吗?什么不起作用?
  • 尝试全部大写的 POST...不确定这是否是强制性的,但是否是好的做法
  • 你安装了 JQuery 吗??
  • 以表单为目标序列化$('#msg_form').serialize();
  • 我也没有收到警报消息,当它工作并发布到 php 时,我收到了一封电子邮件,但是我没有收到电子邮件,所以肯定它不起作用。是的,我已经安装了 JQuery。

标签: javascript php jquery html ajax


【解决方案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())

【讨论】:

    猜你喜欢
    • 2017-04-09
    • 2013-07-10
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    相关资源
    最近更新 更多