我对传递包含日期的PHP变量有点困惑按钮的onclick属性,例如…(出于某种原因,我把按钮放在echo中)
<?php
$date = date("F-d-Y", "2015-07-24"); //to convert the string 2015-07-24 to date with an specific format
echo "<button onclick = 'goToThisJSMethod(".$date.")'> Pass </button>";
?>
,其中goToThisJSMethod的javascript部分。
function goToThisJSMethod(dateRec){
alert (dateRec);
}
上面的语法没有结果,警告框也没有出现
我试着改变上面的代码,我改变了将在PHP上传递的参数,而不是使用$date
变量,我使用日期的确切字符串作为参数,并像这样改变javascript:
function goToThisJSMethod(dateRec){
var date = new Date(dateRec);
alert(date.getMonth()+1 " " + date.getDate() + " " + date.getFullYear());
}
是的,这里有一个结果,但是再次,它返回默认日期1/1/1970
。对于这个问题我该怎么办?
最大的问题是date()的第二个参数必须是时间戳,因此需要使用strtotime。你总是会得到"January-01-1970"因为你给它传递了一个字符串,而它需要一个时间戳。
您可能还需要在字符串周围加上引号,如下所示。查看浏览器中呈现的HTML。
<?php
$date = date("F-d-Y", strtotime("2015-07-24"));
echo "<button onclick='"goToThisJSMethod('{$date}')'"> Pass </button>";
?>
我转换你的html使用"
和PHP使用变量插值