使用PHP实现Materialisecss Toast

时间:2016-09-11 10:51:47

标签: javascript php toast materialize

所以我正在制作这个网络控制面板,但我对JS并不满意。我正在使用MaterializeCSS + HTML + PHP进行DB登录,依此类推。

我想拥有以下简单的功能,但由于某些原因我失败了。

我想在我的表单中填写用户名和密码,然后按登录。由于我不确定Toasts是如何工作的,我想我曾经切换页面Toast消失所以也许最好在打开的新帐户页面中显示吐司而不是登录页面本身。我试过了,但它没有出现。

显示Toast的代码:

echo "<script> Materialize.toast('Login successful!', 3000, 'rounded')   </script>";

我在俄语中找到了一个主题,说明DOM存在问题并且使用其解决方案但没有再次成功。

注意:我已经使用了其他与JS相关的组件,例如ModalsTooltips

控制台错误:未捕获的ReferenceError:未定义Materialise

3 个答案:

答案 0 :(得分:1)

我有两个问题。最重要的是,我在一个甚至没有执行的IF中测试代码。愚蠢的我。其次,我没有使用onDocumentReady - $(function(){});

文档引荐来源只是检查哪个页面发送给我,但这里是我的工作代码,用于从PHP创建MaterialiseCSS Toast

echo "
<script>
$(function(){
   if (document.referrer == 'http://yourdomain/index.php?p=Login'){
    Materialize.toast('Login successful', 2200, 'rounded')
}
});  
</script>";

答案 1 :(得分:1)

我的一个PHP脚本遇到了同样的问题。经过大量研究后,我发现我没有包含JQuery。 Materialise CSS需要在materialize.js文件之前加载JQuery。确保加载了jquery。出现控制台错误,因为未加载JQuery。

我在我的localhost上测试了这段代码而没有jquery toast不起作用但是加载后它工作正常。

<?php 
    if (isset($_GET['msg'])){
      $msg = $_GET['msg'];
      echo "<script>Materialize.toast('$msg', 3000, 'rounded');</script>"; 
    }
  ?>

答案 2 :(得分:0)

你可以把你的if条件放在像这样的

<?php
    `if (document.referrer == 'http://yourdomain/index.php?p=Login')
     {
      echo "
      <script>
        Materialize.toast('Login successful', 2200, 'rounded');
      </script>";
    }`
?>