php - 如何添加 AJAX 表单提交错误警报?
问题描述
新手网络开发人员在这里。我添加了一个基于教程的 PHP-AJAX-jQuery 表单,它还具有加载 GIF。在测试中,我发现如果任何表单提交成功插入新数据库条目,并且在任何情况下提交未能插入新数据库,表单下方隐藏的、包含 div 的“提交成功”消息将替换加载 GIF进入后,加载的 GIF 将保持可见,不会发生任何进一步的事情。我想知道是否可以对 AJAX 代码进行相对简单的更改,以便如果表单提交无法生成新的数据库条目,则加载 GIF 将被隐藏并显示另一个包含 div 的警报(例如在下面的代码中用双星号包裹的新的 div 包含警报)?或者,如果该选项比我意识到的更复杂,我感谢任何关于集成 AJAX 警报以简单地通知用户未收到表单提交的建议。谢谢!
- HTML 表单:
<form id="contact">
...
<button name="submit" type="submit" id="submitBtn">Submit</button>
<img src="../../images/loading-dots.gif" id="loader" style="display: none">
</form>
<div id="successMsg" class="style_success">Message sent successfully!</div>
**<div id="errorMsg" class="style_error">An error occurred. Please try contacting us via email instead.</div>**
*最后一个包含 div 的消息(由双星号包裹)是我在处理表单数据时出现错误时想要显示的内容。
- 阿贾克斯:
$("#submitBtn").hide('fast');
$("#loader").show('fast');
$.ajax({
url:"private/php_scripts/submission.php",
data:{key:"saveData",name:name,email:email,message:message},
method:"POST",
success:function (response) {
var data = response.split('^');
if (data[1] == "saved") {
$("#submitBtn").show('fast');
$("#loader").hide('fast');
$("#successMsg").show('fast');
$("#successMsg").fadeOut(10000);
$("form#contact").each(function () {
this.reset();
});
}
}
});
解决方案
在澄清了我对@StackSlave 的评论的问题并进一步思考了我想要完成的工作之后,我意识到我需要做的就是复制成功下的 if 语句:function 并将其作为 else if 语句粘贴到数据中!= =已保存,然后将 #successMsg 更改为 #errorMsg 以获取我的新 div 消息。谢谢。
推荐阅读
- apache - Apache重写以删除文件扩展名不起作用
- python-3.x - 我安装了python3.9.5,但还是显示3.9.4版本
- bash - git bash 中的 Git 命令需要冻结凭据,并且登录弹出窗口不显示
- php - 如何允许用户在设置的限制内只更新一次数据库值
- django - 发布多张图片 Django
- r - 使图形缩小
- xml - 在 oracle 中使用 select 提取 xmltype 时出现无效字符
- azure-cosmosdb - CosmosDb 在带有数组的“array_contains”的查询中抛出异常?
- postgresql - PostgreSQL 的数据文件中可以容纳多少行?
- javascript - HTML 和 Javascript:如何将包含用户输入的段落元素附加到 div 元素中?