提交后弹出窗口的成功消息

时间:2013-07-23 09:09:52

标签: php javascript jquery slim

我有一个表单,允许您在数据库中输入新歌曲。问题是,当我点击“保存”按钮时,我想提出一个包含成功信息的弹出窗口。我有两个文件,一个代表视图,另一个代表控制器。我可以在包含JavaScript代码的控制器中放置一个变量,该代码允许我调出弹出窗口然后从视图中检索它吗?

这是控制器(我使用Slim Framework)。

$popup = array();
$popup = '$(function(){
    $( "#dialog-message" ).dialog({
        modal: true, 
        buttons: {
            Ok: function() {
                $( this ).dialog( "close" );
            }
        }
    });
});';
$app->render('newkaraoke.html', array('pop'=>$popup));

这是参考变量

的视图
<?php echo $pop;?> 

1 个答案:

答案 0 :(得分:0)

我的解决方案没有考虑任何框架,但无论如何都应该有效。

您可以为此做出的最简单的方法是简单的if()语句,如下所示:

if(isset(_POST['submit-music'])) {
echo "
    <div id='success-message'>Your song has been added to the database</div>
";
}

只要将$_POST['submit-music']变量传递给视图,此代码就可以正常工作。你总是可以把POST var放在像$submitted那样简单的东西上,然后检查它是否存在。

为了删除弹出窗口(如果你愿意),我编写了以下代码(但是它使用了JQuery,但你可以创建一个Javascript替代方案)。

$('document').ready(function() {
    $('#success-message').delay(3000).fadeOut();
});

3000是淡出div之前经过的时间量。在这种情况下,它设置为3秒。