0

可能重复:
参考:为什么我的 Javascript 中的 PHP 代码不起作用?

我已经研究了好几天,似乎找不到任何可以让我做我需要做的事情。

我想要做的是从 Javascript 调用另一个文件中的 Php 函数。我的联系表单上有一个验证码,还有一个 Javascript 文件,用于检查表单并在用户遗漏任何内容时提醒用户。我的问题是我无法检查验证码。

        <a href ="#!/Email_Check" class="button1" onclick="$(this).closest('form').submit()"onmouseover="" style="cursor: pointer;"><span></span><strong>Send</strong></a>

那是我调用 Javascript 和 Php 的链接

        var nameStr = safe_string(document.getElementById('cf_name').value);
        var emailStr = safe_string(document.getElementById('cf_email').value);
        var messageStr = safe_string(document.getElementById('cf_message').value);

        if(nameStr == "")
        document.getElementById('cf_nameCheck').value = "*Enter your name*";
        else
        document.getElementById('cf_nameCheck').value = "";

        if(emailStr == "" || emailStr.indexOf("@") == -1 || emailStr.indexOf(".") == -1)
        document.getElementById('cf_emailCheck').value = "*Enter a valid email*";
        else
        document.getElementById('cf_emailCheck').value = "";

        if(messageStr == "")
        document.getElementById('cf_messageCheck').value = "*Enter your message*";
        else
        document.getElementById('cf_messageCheck').value = "";  


        document.getElementById('cf_name').value = nameStr;
        document.getElementById('cf_email').value = emailStr;
        document.getElementById('cf_message').value = messageStr;

        if(document.getElementById('cf_nameCheck').value == "")
        if(document.getElementById('cf_emailCheck').value == "")
        if(document.getElementById('cf_messageCheck').value == "")
            open_page('#Email_Succesful');

那是我的 Javascript,它在单击 href 时被调用。它检查姓名、电子邮件和消息,然后在必要时在另一个文本字段上显示错误消息。

问题是我无法在不使用一些 PHP 的情况下检查验证码。

        include_once $_SERVER['DOCUMENT_ROOT'] . '/securimage/securimage.php';

        $securimage = new Securimage();
        if ($securimage->check($_POST['captcha_code']))
        {
            $mail_status = mail($mail_to, $subject, $body_message, $headers);
        }

那是我在另一个文件中的 Php 脚本,它检查验证码是否有效,如果有效,则执行电子邮件。它在链接的 onClick 事件上调用。

那么......谁能告诉我如何在Javascript中调用检查?这将允许我检查真/假值并确定是否显示有关验证码的警告消息。

如果没有,还有其他方法可以做我需要做的吗?也许在 PHP 中显示警告?如果解决方案是使用 Ajax 之类的其他东西,请同时发布所需的代码,我也研究了 Ajax 和其他一些东西,但似乎也无法让它工作。

4

4 回答 4

8

需要知道这一点:

Javascript(除非指定)是一种“客户端”语言,这意味着它在页面被编译并从服务器发送之后在客户端的浏览器上运行。这意味着代码中没有 PHP/ASP,只有 HTML 和 Javascript。

PHP、ASP、JSP 是仅在服务器端运行的服务器端语言。

因此,要回答您的问题,不,您不能直接让 Javascript 调用 PHP(服务器端)函数,但您可以发布到 PHP 页面,然后该页面将执行您喜欢的任何功能。

于 2013-01-16T08:39:38.040 回答
4

试试这个(对 php 文档的 Ajax 请求)

于 2013-01-16T08:37:22.230 回答
0

要从 javascript 调用任何 php 函数,您需要发送一个 Ajax 请求,该请求反过来总是可以返回您期望从函数中得到的计算值。

于 2013-01-16T08:54:17.317 回答
0

存在抽象出客户端-服务器边界的技术。如果您曾经使用过 Java RMI,那么您就可以使用其中之一:

于 2013-01-16T08:51:34.237 回答