gpt4 book ai didi

javascript - Shadowbox - 提交 php 表单后自动关闭

转载 作者:行者123 更新时间:2023-11-30 17:36:53 24 4
gpt4 key购买 nike

我试图在提交表单后关闭 shadowbox。目前我的 php 设置为刷新调查问题。现在我正在使用 shadowbox 在页面加载时加载调查,我希望它在按下提交按钮后消失。

网站链接:Survey site.

我的 php 代码是:

<?php
$to = "milam.matthew@gmail.com";
$subject = 'Survey Results';
$group1 = $_POST["group1"];
$headers = "From: $name <$email>\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
$mes .= 'Training Method Preferred: '.$group1;
{
mail($to, $subject, $mes, $headers);
}
header('Location: ' . $_SERVER['HTTP_REFERER']);
?>

我不确定这是我应该在 php 代码中还是在 shadowbox.js 中编写的内容。非常感谢任何帮助。

最佳答案

可以试试这个-

检查group1是否已经提交,添加一个class到shadowbox。

然后只有在有 open 类时才打开 shadowbox。

PHP

<?php    
$shadowboxClass = '';

if (!isset($_POST["group1"])) {
$shadowboxClass = '.open';
}
?>

<div id="sb-container" class="<?php echo $shadowboxClass; ?>">

jQuery

window.onload = function() {

if($("#sb-container").hasClass('open')){

// open a welcome message as soon as the window loads
Shadowbox.open({
content: '<div id="welcome-msg">Welcome to my website!</div>',
player: "html",
title: "Welcome",
height: 350,
width: 350
});
}
};

然后按照 Netzach 的建议,您应该设置一个 session 变量,但随后只需将其设为 if 语句即可。

<?php

if (isset($_POST["group1"]) && !empty($_POST["group1"])) {
$to = "milam.matthew@gmail.com";
$subject = 'Survey Results';
$group1 = $_POST["group1"];
$headers = "From: $name <$email>\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
$mes .= 'Training Method Preferred: '.$group1;
{
mail($to, $subject, $mes, $headers);
}

$_SESSION['submitedSurvey'] = 1;

header('Location: ' . $_SERVER['HTTP_REFERER']);
}

$shadowboxClass = '';

if ($_SESSION['submitedSurvey'] != 1) {
$shadowboxClass = '.open';
}

?>

<div id="sb-container" class="<?php echo $shadowboxClass; ?>">

关于javascript - Shadowbox - 提交 php 表单后自动关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21859249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com