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

标签 javascript php jquery html 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;
});

提前致谢。

编辑:可能已修复它已提交但未发送提交

最佳答案

解决了它只是替换:

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

关于javascript - 提交表单而不刷新页面 ajax,php,javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21612197/

相关文章:

php - 将模型转换为数组或 JSON 时无法访问 Laravel 模型访问器

php - 输入 ID 名称显示到 URL?

javascript - 未捕获的类型错误 : Cannot convert undefined or null to object

javascript - keyup() 事件不适用于除移动设备上的英语之外的其他语言

javascript - PHP 验证检查记录是否存在

php - 如何连接到其他服务器

javascript - 滚动浏览 div 的 JavaScript

jquery - 在 dataTable 上滚动数据应从服务器端加载并附加到现有记录

javascript - 无法将 Canvas 保存到图像 - 受污染的 Canvas - react 应用程序

javascript - 如何使用nodejs将变量导出到其他文件?