【问题标题】:Email subscribe form popup upon success成功后弹出电子邮件订阅表单
【发布时间】:2014-03-28 19:49:29
【问题描述】:

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

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 脚本,请问我应该如何使它工作?

【问题讨论】:

    标签: javascript php jquery html popup


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您当前的设置有一个 HTML 站点重定向到一个 PHP 脚本,然后验证数据。 PHP 脚本是服务器端的,不能显示弹出窗口。

      您应该重新修改您的表单,使其使用 AJAX 并在后台发布表单,然后在成功时显示一个弹出窗口。例如,您可以使用 jQuery 执行此操作,有关如何执行此操作的更多信息,请参阅 jQuery Ajax POST example with PHP

      【讨论】:

        猜你喜欢
        • 2016-11-01
        • 2018-09-11
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 2018-07-19
        • 2014-08-11
        • 2016-01-21
        • 1970-01-01
        相关资源
        最近更新 更多