-4

我正在尝试在 JavaScript 中使用我的 PHP 函数,如下所示:

PHP代码:

function checkevents($date){
    $ev = new CalendarModelEventss();
    $wh = "`event_date` = '".$date."'";
    $all = $ev->getAllEvents('event_date', $wh);
    if($all == $date){
        //echo 'event is available'.$all;   
        return true;
    } else {
        return false;
        //echo 'event is NOT available' .'--'. $all;
    }
}

和 JavaScript 代码:

var yyyy = date.getLocalFullYear(true, this.dateType);
var mm = date.getLocalMonth(true,this.dateType);
var dd = iday;
var ddddd = yyyy+'/'+mm+'/'+dd;

if(<?php checkevents( ?>ddddd<?php ) ?>){
     cell.className += " eventsss ";
}

但它不起作用,并且我有 PHP 错误(syntax error, unexpected ';', expecting ')' in ...)。

4

3 回答 3

3

正如前面的演讲者所说,直接从 javascript 调用 php 函数是不可能的。不过,PHP 可用于输出 javascript。

在您的情况下,您需要从执行 php 代码(在服务器端)的客户端(使用 javascript)发送一个 ajax 请求,获取输出并将其放入您的 if 语句中。

如果你不太了解 javascript/AJAX,你可以看看 jQuery 或其他类似的框架。

于 2012-12-08T12:48:48.237 回答
2

Javascript 在客户端解析,PHP 在服务器端解析。
没有AJAX这个是不可能的。

使用 JQuery 的示例:

PHP:

...
    echo "true";//or something else that indicates the success
} else {
    echo "false";//or something else that indicates the failure
}
...

Javascript:

$.ajax({
  url: "URL TO YOU PHP SCRIPT",
  cache: false
}).done(function( html ) {
  if(html.match(/true/g)){
     cell.className += " eventsss ";
  }
});
于 2012-12-08T12:42:37.083 回答
0

您不能直接使用 javascript 直接调用 php 函数,因为它们都在不同的方面。所以您要做的是使用某些参数进行 AJAX 调用,然后直接从该 php 文件调用该 php 函数,并使用要验证的参数。

并通过回显输出将输出发送回 javascript,并在 javascript 上对其执行任何操作。

于 2012-12-08T12:58:16.063 回答