成功后通过电子邮件订阅表单弹出窗口

时间:2014-03-28 10:01:14

标签: javascript php jquery html popup

我试图弄清楚如何从现有的订阅表单中修改脚本:

HTML

<form method="post" action="subscribe.php">
    <input type="text" name="email"/>
    <input type="submit" value="Submit" class="submit-btn">
    <input type="hidden" name="success" value="test-success.html">
    <input type="hidden" name="error" value="test-error.html">
</form>

PHP     

    if (preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/', $email))
    {
        if ($result && !empty($successUrl))
        {
            header( "Location: $successUrl") ;
        }   
        else if (!empty($errorUrl))
        {
            header( "Location: $errorUrl") ;
        }
        else
        {
            echo 'Error';
        }
    }
    else if (!empty($errorUrl))
    {
        header( "Location: $errorUrl") ;
    }
    else
    {
        echo 'Error';
    }

    exit();
}
?>

我想通过弹出窗口显示消息,而不是重定向到成功/错误页面。

我使用的弹出窗口是Magnific Popup。

http://dimsemenov.com/plugins/magnific-popup/documentation.html

我尝试编辑输入类型和值的值。添加弹出链接,但它不会工作。 我也不擅长PHP脚本,我可以知道应该如何使它工作吗?

2 个答案:

答案 0 :(得分:0)

您可以使用原生Javascript警告框来显示弹出窗口

else if (!empty($errorUrl))
    {
        echo "<script>alert('Error !');</script>";
        echo "<script>window.location.href=$errorUrl</script>";
    }

答案 1 :(得分:0)

您当前的设置将HTML网站重定向到PHP脚本,然后验证数据。 PHP脚本是服务器端的,无法显示弹出窗口。

您应该重新格式化表单,以便它使用AJAX并在后台发布表单,然后在成功时显示弹出窗口。例如,您可以使用jQuery执行此操作,有关如何执行此操作的详细信息,请参阅jQuery Ajax POST example with PHP