繁体   English   中英

在PHP中调用自定义JS警报

[英]Call custom JS alert inside PHP

我使用自定义提醒JavaScript。 我想在php中调用此javascript。 我收到了基本警报,但无法启动自定义警报。

此代码有效。 如果我的文件路径为空,它将打开一个警报窗口

    <?php

$albums_json_file1 = site_path . DIRECTORY_SEPARATOR . 'users' . DIRECTORY_SEPARATOR . $username . DIRECTORY_SEPARATOR . 'main.json';
 if (!empty($albums_json_file1))

 echo "<script type='text/javascript'>alert('message')</script>"
 ?>

此代码不起作用

    <?php

$albums_json_file1 = site_path . DIRECTORY_SEPARATOR . 'users' . DIRECTORY_SEPARATOR . $username . DIRECTORY_SEPARATOR . 'main.json';
if (!empty($albums_json_file1))

echo "<script> swal('REGISTRATION SUCCESS!', 'You are now being redirected to the payment screen!', 'success'); </script>"
  ?>

在我的网页中,我具有自定义警报的脚本源,如果仅在网页中添加此代码,则弹出警报会起作用,但我需要它来检查站点路径并仅在警报为空时返回警报。

这是常规脚本。 如果将其放在网页正文中,则会弹出警报。

<script>

swal("REGISTRATION SUCCESS!", "You are now being redirected to the     payment screen!", "success");

</script>

您的html从上到下加载。

swal()声明移至标头,以便可以在正文中的任何位置使用它。

因此,您的PHP回声可能在声明swal()

例:

<script>swal('Does not work');</script>
<script>
var swal = function(txt){
    alert(txt);
}
</script>
<script>swal('Works');</script>

原因alert(); 起作用的原因是,这适用于您的整个文档。

在第一个示例中,您将始终收到警报,因为您编写警报的方式永远不会为空。 您应该检查它是否创建有效的文件路径,而不是检查字符串是否为空(永远不会为空)。 使用file_exists()而不是empty()

我敢打赌,问题在于您生成的文件路径不正确。


编辑-我不允许发表评论,但作为对其他答案的回应-将JS放在标头中是不好的做法。 它将减慢页面加载速度。 如果确实存在此问题,则应在页脚中放置一个onload调用,并将所有JavaScript放入其中。

window.onload = function(){
    // Put codes here
};

以便在执行任何脚本之前加载页面内容。

就是说,这不是您遇到的问题,因为您说手动将swal()调用放入正文中是swal()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM