5

假设我在add-project.html页面上有一个表单。请求完成后,我将用户重定向回index.html主页。

我想要做的是index.html 在用户成功提交表单时才显示通知。

我正在使用此插件进行通知:http ://redeyeoperations.com/plugins/Notify/

现在,我正在使用一个临时解决方案,它add-project.html会在提交表单时显示通知,然后在 a 之后重定向到index.html主页,setTimeout但我不喜欢它,它很脏。

$('#printForm').submit(function(e) {
    e.preventDefault();
    $.ajax({
        type: 'POST',
        url: 'add-project.php',
        data: $('#printForm').serialize(),
        success: function(result) {
            if(result == '1') {
                // Success
                $.notify.basic('Congratulations, your projet has been saved correctly', {
                    occupySpace : true,
                    close : true,
                    autoClose: 5000
                });

                setTimeout(function() {
                    window.location.href = '../index.html';
                }, 2000);
            }
            else {
                // Error
                $.notify.error('Oops, something went wrong ! Make sure you filled all the necessary fields', {
                    occupySpace : true,
                    close : true,
                    autoClose: 5000
                });
            }
        }
    });         
});

重定向后是否有一种干净的方法可以在目标页面上显示通知?

谢谢你的帮助。

4

1 回答 1

5

index.html 需要某种方式来知道表单已发送。您可以通过使用 url 参数或哈希并使用 js 读取它来做到这一点。

//after submit
window.location.href = '../index.html#success';

//in index.html
if(window.location.hash == '#success')
{
    //show the notification
}
于 2012-07-11T07:51:41.320 回答