使用SweetAlert在OnClick中返回true的函数

时间:2016-01-21 00:20:09

标签: javascript php jquery

您好我正在PHP中执行一项功能,其中我要求确认继续使用SweetAlert,想法是使用onclick事件,但问题是我无法控制,消息显示但不显示期望在任何两种情况下进行确认,这是形式和链接。

代码:

<meta http-equiv="content-type" content="text/html; UTF-8" />

<script src="Scripts/jquery-1.4.4.min.js"></script>
<script src="sweetalert/dist/sweetalert-dev.js"></script>
<link rel="stylesheet" href="sweetalert/dist/sweetalert.css">

<body>

<?php

function ShowMessage($titulo,$contenido,$tipo) {
    if($tipo=="ok") {
        //
    }
    else if($tipo=="error") {
        //
    } else if($tipo=="ask") {
echo "
swal({
  title: '$titulo',
  text: '$contenido',
  type: 'warning',
  showCancelButton: true,
  confirmButtonColor: '#DD6B55',
  confirmButtonText: 'Yes, delete it!',
  cancelButtonText: 'No, cancel plx!',
  closeOnConfirm: false,
  closeOnCancel: false
},
function(isConfirm){
  if (isConfirm) {
    return true;
  } else {
    return false;
  }
});
";
    } else {

    }
}

?>

<a href='http://www.google.com' onClick="<?php ShowMessage("test","test","ask"); ?>">Go</a>

<form action="http://www.google.com">
<input type="submit" name="none" text="test" onClick="<?php ShowMessage("test","test","ask"); ?>">
</form>

</body>

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

<?php ShowMessage("test","test","ask"); ?>

正在页面加载时调用。

如果没有AJAX,则无法根据浏览器事件调用PHP函数。

通过使用JavaScript可以更好地显示确认消息。

尝试类似

的内容
<input type="submit" name="none" text="test" onClick="checkConfirm('test')">
<script>
checkConfirm(message) {
    var confirm = confirm(message);
    if (confirm == true) {
        // User said yes
    } else {
        // User said no
    }
}
</script>

修改 啊,再看一下你的实现。

您可以采取以下措施来实现您正在寻找的结果:

<input type="submit" name="none" text="test" onClick="showMessage(<?php echo $titulo ?>, <?php echo $contenido ?>, <?php echo $tipo ?>)">
<script>
  showMessage(title, text, tip) {
    if (tip == 'ask') {
      swal({
        title: title,
        text: text,
        type: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#DD6B55',
        confirmButtonText: 'Yes, delete it!',
        cancelButtonText: 'No, cancel plx!',
        closeOnConfirm: false,
        closeOnCancel: false
      },
      function(isConfirm){
        if (isConfirm) {
          return true;
        } else {
          return false;
        }
      });
    }
  }
</script>

我仍然建议您查看AJAX及其目的。它可以帮助你将头部包裹在整个堆栈中。