3

我有一个 php 日期,并希望在 javascript 警报框中回显它:-

$day=15;
$month=8;
$year=2012;

$date_display = date("Y-m-d", mktime(0, 0, 0, $month, $day, $year));
echo $date_display; // 2012-08-15

然后,

<a href="#" onclick="give_date(<?=$date_display;?>)"><?=$day;?></a>

javascript函数:

<script>
function give_date(value){
alert (value);  
}
</script>

有趣的是,警告框给了我“1989”,等于 2012 减 8 减 15!我该怎么办!!

4

3 回答 3

3

现在你得到:<a href="#" onclick="give_date(2012-08-15)">15</a>,所以它在浏览器中计算它。

解决方案很简单 - 添加引号:

<a href="#" onclick="give_date('<?=$date_display;?>')"><?=$day;?></a>

然后你得到:<a href="#" onclick="give_date('2012-08-15')">15</a>

于 2012-08-02T04:56:17.287 回答
1

您正在使客户端代码显示加载页面时服务器alert的日期。

如果要向用户显示当前时间,请使用以下命令:

HTML:

<a href="#" id="date">Please enable JavaScript.</a>

JavaScript:

<script type="text/javascript">
function show_date() {
    alert(new Date());  
}
window.onload = function() {
    document.getElementById('date').innerHTML = new Date().getDay();
};
document.getElementById('date').onclick = show_date;
</script>
于 2012-08-02T05:08:40.743 回答
0

如果你愿意的话,你可以使用 jQuery

<a href="#" id="<?php echo $date_display; ?>">Click to get date popup</a>

$(function(){

 $('a').click(function(){

       var dt = $(this).attr('id');
       alert(dt);
 });

});
于 2012-08-02T04:55:52.283 回答