如何使用sweetalert创建模态警报?

时间:2016-11-27 14:06:27

标签: javascript sweetalert

我是Javascript的初学者,我需要在点击我页面上的menu2时为用户生成警报以返回消息,为此我选择使用与所有浏览器兼容的模态插件Plugin modal下面的代码是我能得到的直到现在,但没有成功。 这是我的HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

<ul id='menu'>
  <li id='menu1'><a href='/web/front/helpdesk.public.php' title="Home" class='itemP'>Home</a>
  </li>
  <li id='menu2'><a href='/web/front/helpdesk.public.php' title="Cria um chamado" class='itemP'>Cria um chamado</a>
  </li>
  <li id='menu3'><a href='/web/front/ticket.php' title="Chamados" class='itemP'>Chamados</a>
  </li>
  <li id='menu4'><a href='/web/front/reservationitem.php' title="Reservas" class='itemP'>Reservas</a>
  </li>
  <li id='menu5'><a href='/web/front/helpdesk.faq.php' title="FAQ" class='itemP'>FAQ</a>
  </li>
</ul>

这是我的javascript

echo '<script type="text/javascript">';
  echo'setTimeout(function () {
  swal
  ("Return the alert test !",
  "Message!",
  "success");';
  echo '}, 1000);
  </script>';

返回页面上的警报。

enter image description here

我已经尝试过这种方式,但到目前为止还没有成功。

     echo '<script type="text/javascript">';
  echo'setTimeout(function () {
  echo '$(document).ready(function() {
  echo '$('#menu2').click(function(event) { 
  swal
  ("Return the alert test !",
  "Message!",
  "success");';
  echo '}, 1000);
  </script>';

尝试在我的php中运行解决方案时出错。

enter image description here

我不希望调用该方法,事件的默认操作不会触发。为此,请使用event.preventDefault();但这对我不起作用。警报不会出现。有没有人有解决方案?

echo '<script type="text/javascript">';
echo '$(document).ready(function(){';
echo '    $("#menu2").click(function(event){'; 
echo '            event.preventDefault()';        
echo '        swal("Return the alert test !", "Message!", "success")';
echo '    })';
echo '});';
echo '</script>';

2 个答案:

答案 0 :(得分:1)

您的原始jquery应该如下所示(正确关闭的函数):

$(document).ready(function(){
    $('#menu2').click(function(event){ 
        swal("Return the alert test !", "Message!")
    })
});

然而,你回应它,取决于你。 此外,您不需要使用document.ready()。

来设置setTimeout()

编辑:

echo '<script type="text/javascript">';
echo '$(document).ready(function(){';
echo '    $("#menu2").click(function(event){';
echo '        swal("Return the alert test !", "Message!")';
echo '    })';
echo '});';
echo '</script>';

答案 1 :(得分:0)

我能够按照此处获得的回复制作模态警报sweetalert。我对Javascript有了更好的理解,并且在特定的event.preventdefault中获得了对我来说完美的代码。

<?php
include_once('resources/db.php');

$sql = "SELECT username, password FROM users WHERE username = :username";
$query = $db->prepare($sql);
$query->execute(array(":username" => $_POST['username']));
$user = $query->fetch(PDO::FETCH_ASSOC);


if ( isset( $_POST['submit'] )) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $hash_password = $user['password'];

    if ( password_verify($password, $hash_password)) {
        if ($query->rowCount() == 1){
            echo "chrisschotman is ingelogd";
        } else {
            echo "<script type=\"text/javascript\">alert('Wrong username!')</script>";
        }
    } else {
        echo "<script type=\"text/javascript\">alert('Wrong password or username!')</script>";
    }
}
?>