【问题标题】:opening jquery modal on pageload在页面加载时打开 jquery modal
【发布时间】:2012-09-19 11:17:40
【问题描述】:

我有一个功能可以在单击按钮时打开一个模式窗口。 如何修改它以便在页面加载时打开(嗯......在处理表单之后)

这是打开对话框的函数:

$j(function () {
    $j('#popup-wrapper').modalPopLite({ 
        openButton: '#clicker', 
        closeButton: '#close-btn' 
    });
});

这里是它需要去的地方:

if(isset($_POST['submitted']))
{
   if($formproc->ProcessForm())
   {
        $formproc->RedirectToURL("thank-you.php");
   }
}

谢谢

【问题讨论】:

    标签: jquery dialog popup modal-dialog pageload


    【解决方案1】:

    试试

    $('form').submit(function(){
     $('#popup-wrapper').trigger('click');
    });
    

    更新

    您必须通过 ajax(post) 提交表单并在 complete:success: 部分调用上述函数

    替代方案:(未测试)

    <?php if($formproc->ProcessForm()) { ?>
           <script>$('#popup-wrapper').trigger('click');</script>
    <?php  } ?>
    

    【讨论】:

    • 那么你必须通过 ajax 提交表单。您要打开哪个页面。
    • 我希望弹出窗口而不是页面重定向
    【解决方案2】:

    我可能有这个错误,但如果你想在你的“thank-you.php”页面上打开它,在页面加载时(正如我看到的问题)你可以将以下内容放在你的任何地方html(最好在jquery include之后的head)

    <script>
        $(document).ready( function(){
            $j('#popup-wrapper').modalPopLite({ openButton: '#clicker', closeButton: '#close-btn' });
        });
    </script>
    

    抱歉,如果我完全误解了这一点...

    祝你好运!

    编辑

    好吧,如果你想要它,为什么不将字符串捕获到一个 php 变量中,以便以后在你的页面中使用呢?喜欢...

    $modal = '';
    
    if ($userHasPosted){
    
        $modal = "<script ... />";
    
    }
    
    ... later in the page (maybe in the head somewhere) ...
    
    echo $modal;
    

    这有意义吗?

    【讨论】:

    • 对不起,如果我解释得不好...我希望对话框弹出而不是页面重定向。
    • 我认为,如果您可以为此提供完整的代码源,这将是有益的。可能比试图推断代码的人更快。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多