PHP AJAX - 如何在表单提交后显示弹出通知[重复]

Posted

技术标签:

【中文标题】PHP AJAX - 如何在表单提交后显示弹出通知[重复]【英文标题】:PHP AJAX - How to show popup notification after form submission [duplicate] 【发布时间】:2021-12-28 23:02:34 【问题描述】:

以防万一! 可能的重复:

php-Jquery-AJAX, show popup messageForm submission PHP ajaxForm submission PHP ajaxShow a success message after PHP form submission using AJAXjquery popup after form submissionHow to show a success message after PHP form submission?PHP Ajax Form Submission

我试图在表单成功提交到数据库后显示一个“通知弹出框”。

我用alert(); 对其进行了测试,它工作正常,但问题是自动重定向。

HTML 表单:

<form action="form-process" id="reportsForm" method="POST"></form>

routes.php:

//Reports pages
get('/all-reports', '/pages/reports/all-reports.php');
get('/add-new-report', '/pages/reports/add-new-report.php');

//Reports form subbmision
post('/form-process', '/backend/form-process.php');

阿贾克斯:

$(document).ready(function() 
    $("#reportsForm").submit(function() 
        var cccEmployee = $("#ccc_employee").val();
        var irNumber = $("#IR_number").val();
        var caseType = $("#case_type").val();
        var caseLocation = $("#caseLocation").val();
        var startDateTime = $("#startDate").val();
        var endDateTime = $("#endDate").val();
        var caseDesc = $("#case_description").val();
        var actionsTaken = $("#action_taken").val();
        var caseDetails = $("#details").val();
        var caseNotes = $("#notes").val();
        var caseRecommendation = $("#recommendation").val();
        $.ajax(
            type: "POST",
            url: "./backend/form-process.php",
            success: function() 
                alert("sucess");
            
        );
    );
);

我尝试使用window.locationheaders() 进行重定向,然后代码失败。 我正在使用 PHP routing library 并因此以某种方式破坏了我的 Ajax 请求?

【问题讨论】:

问题是自动重定向你的意思是 (1) 你不能在 ajax 返回后显示弹出窗口吗?或 (2) 您想在弹出显示后重定向但失败? @KenLee 单击“提交”时,会显示警报,然后单击“确定”后重定向到白页。我想显示警报并留在表单页面中。 【参考方案1】:

尝试使用 preventDefault

停止表单的默认句柄(使用属性操作作为进程 URL)
$("#reportsForm").submit(function(e) 
    e.preventDefault(); // add this
    var cccEmployee = $("#ccc_employee").val();
    ....

【讨论】:

好的,它没有重定向并显示警报,很好。但是数据没有保存到数据库中...... 我看到你刚刚向没有数据的 URL 发送了 post 请求。附加它并告诉我结果。 @Mòe 你需要将数据发送到 php 文件做一些关于如何在 ajax 中发送数据的调查,data: this.serialize(), 类似这样。 我一直在尝试以我在搜索中找到的所有方式使用“数据:”...还不行.. 是的,我放弃了...我尽我所能...我在这里停下来:imgur.com/IHRBtvh

以上是关于PHP AJAX - 如何在表单提交后显示弹出通知[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Ajax提交后如何关闭fancybox?

使用php提交ajax表单

Laravel 使用 Ajax 提交表单而不刷新页面

如何在 cakephp 中通过 ajax 提交 jquery 移动弹出表单

ajax异步提交数据到数据库

如何在 ajax 回调中重置表单?