我正在尝试弄清楚如何从这个现有的订阅表单修改脚本:
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弹出窗口。
http://dimsemenov.com/plugins/magnific-popup/documentation.html
我尝试编辑输入类型中的值&在弹出链接中添加,但是它不能正常工作。我也不擅长php脚本,我可以知道我应该怎么做吗?
发布于 2014-03-28 18:04:28
您可以使用原生Javascript警告框来显示弹出窗口
else if (!empty($errorUrl))
{
echo "<script>alert('Error !');</script>";
echo "<script>window.location.href=$errorUrl</script>";
}发布于 2014-03-28 18:07:40
您当前的设置有一个HTML站点重定向到一个PHP脚本,该脚本随后验证数据。PHP脚本是服务器端的,不能显示弹出窗口。
您应该重新修改表单,使其使用AJAX并在后台发布表单,然后在成功时显示弹出窗口。例如,您可以使用jQuery执行此操作,有关如何执行此操作的更多信息,请参阅jQuery Ajax POST example with PHP。
https://stackoverflow.com/questions/22709517
复制相似问题