为啥在 php 中调用 modal.show() 不起作用?

Posted

技术标签:

【中文标题】为啥在 php 中调用 modal.show() 不起作用?【英文标题】:Why calling modal.show() in php doesn't work?为什么在 php 中调用 modal.show() 不起作用? 【发布时间】:2019-07-21 16:07:29 【问题描述】:

当用户电子邮件不在数据库中时,我想显示模式。 我写$('.ui.basic.modal').modal('show'); php$echo。 它没有显示。 在语义 UI 模式示例中,模式显示在运行代码按钮单击上。 语义 UI 示例链接 https://semantic-ui.com/modules/modal.html

我正在使用语义 UI 模式。

//PHP Code
if(!result)

 echo "<script>$('.ui.basic.modal').modal('show');</script>";

//MyModal
<div class="ui basic modal">
    <div class="ui icon header">
        <i class="frown outline icon"></i>
        Cannot find your email?
    </div>
    <div class="content">
        <p>You are still on waiting list.</p>
    </div>
</div>

【问题讨论】:

您能否澄清并验证您的 PHP 代码是否真的在回显您的脚本标签?您是否还可以验证您的代码是否加载了 Semantic UI 的脚本? 语义 UI 的脚本已加载。 【参考方案1】:

.ui.basic.modal 元素在您的 javascript 代码执行时不存在。

你必须在模态创建后执行js代码,并使用document.ready函数或等效函数。

试试

<?php
if(!$result)
?>
    <div class="ui basic modal">
        <div class="ui icon header">
            <i class="frown outline icon"></i>
            Cannot find your email?
        </div>
        <div class="content">
            <p>You are still on waiting list.</p>
        </div>
    </div>
    <script>
    $( document ).ready(function() 
        $('.ui.basic.modal').modal('show');
    );
    </script>
<?php

?>

这假设已加载 jQuery 和 Semantic-ui javascript 源代码。

【讨论】:

它不起作用。它只显示文本,然后刷新页面。 那么你在别处还有一个问题,请求这个页面的代码是什么?你浏览器的 javascript 控制台说什么?

以上是关于为啥在 php 中调用 modal.show() 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥不能在 PHP 中从抽象类中调用抽象函数?

为啥我不能在 PHP 中调用这个受保护的函数?

在 PHP 中,为啥我的 scandir 调用会返回错误数量的文件?

PHP MySQL - 为啥存储过程调用在 PHP 代码中意外结束

引导 jquery 加载序列

PHP为啥不能调用MySQL