函数没有定义php-js

时间:2017-04-28 11:40:17

标签: javascript php function

我将这段代码放入我的php文件中:

<?php
if(isset($_POST['submit'])){
     if($_POST['email'] != ''){
           $email = $_POST['email'];
           $query = "INSERT INTO user(email) VALUES('". $email . "')";
           $stmt = $db ->query($query);
           if($stmt){
                 echo "<script>displayPopup('success')</script>";
           }else{
                echo "";
           }
      }
  }
?>

我的JS文件包含在结束标记之前,并且收费很高。但我有错误说明函数displayPopup未定义

有什么想法吗? :(

1 个答案:

答案 0 :(得分:1)

据我所知,主要问题是displayPopup函数是在文档末尾定义的。

PHP是服务器端而JS是客户端,在加载/读取javascript之前发生回调脚本的条件。

这意味着在执行该脚本时,“displayPopup”函数实际上并不存在。

最快的测试方法是在&lt;结束之前添加以下代码: /头&GT;标记:

<script type="text/javascript">
    function displayPopup(msg){
        alert(msg);
    }
</script>

显然,您可以使用实际的displayPopup函数替换该函数。另一种方法是使用Ajax提交表单以获得更加无缝的体验,但上述内容应该可以解决您的问题。

我希望这有帮助!