我正在尝试在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 ...
)。
答案 0 :(得分:3)
正如上一位发言者所说,从javascript直接调用php函数是不可能的。 PHP可用于输出javascript。
在您的情况下,您需要从客户端(使用javascript)发送执行php代码的ajax请求(在服务器端),获取输出并将其放入if语句中。
如果你不太了解javascript / AJAX,你可以看看jQuery或其他类似的框架。
答案 1 :(得分: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 ";
}
});
答案 2 :(得分:0)
你不能直接使用javascript直接调用php函数,因为它们都在不同的侧面。所以你做的是用某些参数进行AJAX调用,之后调用php函数直接从那个带有参数的php文件验证
并通过回显输出将输出发送回javascript,并在javascript上执行任何操作。