通过PHP调用JS函数

时间:2017-03-16 08:24:20

标签: javascript php

这是我的JS:

function showErrorMsg() {
    modal.style.display = "block";
}

我想通过php调用该函数:

if(empty($from) || empty($first_name) || empty($last_name) || empty($_POST['message'])) {
    // CALL showErrorMsg();
}

每当我点击邮件表单中的按钮时,都会调用PHP行,并检查是否有任何字段为空。

我试过了:

if(empty($from) || empty($first_name) || empty($last_name) || empty($_POST['message'])) {
        echo "<script type='text/javascript'>showErrorMsg();</script>"
    } else {
        mail($to,$subject,$message,$headers);
        mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
        echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";

    }

但是这给了我一个HTTP 500错误..

JS位于名为modal.js的文件中。

注意:JS基本上只是一个例子。其中有很多令人困惑的东西,所以需要一个JS函数。只是想在有人来之前澄清这一点并给我提示PHP如何改变样式属性。 ;)

1 个答案:

答案 0 :(得分:1)

正如@hassan在评论中所述,

What is the difference between client-side and server-side programming?

这里的问题是在服务器端和客户端执行的脚本之间存在误解。 Javascript(NodeJS除外)是一种客户端语言。这意味着它不会被服务器执行,也无法运行服务器代码。它由浏览器执行。换句话说,所有的Javascript都会在PHP脚本完成后立即运行。

这意味着您需要以一种使用单击侦听器的方式输出Javascript,以通过向您的其他PHP文件发送HTTP请求来向您的PHP(服务器)调用AJAX请求。