我们如何打印日期点击?

时间:2011-08-09 08:29:18

标签: php javascript jquery

这是一个日历脚本。

当我点击特定日期时,它会发出警报。

但是我们怎样才能在onclick上打印这个日期?

<?php
/* call calendar function */
function fncalendar($month,$year){
/* Outer Table for calendar */
$calendar = '<table cellpadding="0" cellspacing="0" class="calendar">';
/* Calendar Days in heading */
$headings = array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
$calendar.= '<tr class="calendar-row"><td class="calendar-day-head">'.implode('</td><td class="calendar-day-head">',$headings).'</td></tr>';
/* get and set primary setup from input :: put it in array */
$running_day = date('w',mktime(0,0,0,$month,1,$year));
$days_in_month = date('t',mktime(0,0,0,$month,1,$year));
$days_in_this_week = 1;
$day_counter = 0;
$dates_array = array();

/* row for single week */
$calendar.= '<tr class="calendar-row">';
for($x = 0; $x < $running_day; $x++) {
    $calendar.= '<td class="calendar-day-np"> </td>';
    $days_in_this_week++;
}

for($list_day = 1; $list_day <= $days_in_month; $list_day++) {
    $calendar.= '<td class="calendar-day">';
    $createdDatei  = $list_day . '/' . $month . '/' . $year;
    $calendar .= '<a id="'.$createdDatei.'" class="done"        onclick="alert(this.id);" href="javascript:;"><em id="e'.$createdDatei.'">10</em>' .$list_day. '</a>';
    $calendar.= '</td>';
    if($running_day == 6) {
        $calendar.= '</tr>';
        if(($day_counter+1) != $days_in_month) {
            $calendar.= '<tr class="calendar-row">';
        }
        $running_day = -1;
        $days_in_this_week = 0;
    }
    $days_in_this_week++; $running_day++; $day_counter++;
}

if($days_in_this_week < 8) {
    for($x = 1; $x <= (8 - $days_in_this_week); $x++) {
        $calendar.= '<td class="calendar-day-np"> </td>';
    }
}

$calendar.= '</tr>';
$calendar.= '</table>';
/* all done, return final result */
return $calendar;
}
/* sample usages */
echo '<h2>July 2011</h2>';
echo fncalendar(7,2011);

echo '<h2>August 2011</h2>';
echo fncalendar(8,2011);
?>

<style type="text/css">
/* Css style applying after creating calendar */
/* main */
body { font-family: Airal, sans-serif; }
table.calendar { border-left:1px solid #ddd; font-family: Arial, sans-serif; }
tr.calendar-row {  }
td.calendar-day { position: relative; font-size:11px; } 
* html div.calendar-day { height:80px; }
td.calendar-day:hover { background:#eceff5; }
td.calendar-day-np { background:#eee; min-height:80px; } 
* html div.calendar-day-np { height:80px; }
td.calendar-day-head { background:#ccc; font-weight:bold; text-align:center; width:120px; padding:5px; border-bottom:1px solid #ddd; border-top:1px solid #ddd; border-right:1px solid #ddd; }
div.day-number { background:#999; padding:0px; color:#fff; font-weight:bold; float:right; margin:-5px -5px 0 0; width:20px; text-align:center; }
/* shared */
td.calendar-day, td.calendar-day-np { width:120px; border-bottom:1px solid #ddd; border-right:1px solid #ddd; }
a { display: block;     text-align: right; font-size: 22px; padding: 5px 10px; text-decoration: none; font-weight: bold; color: blue; line-height: 40px; }
a.done { background: #DCFFDB url(http://images.yincsolutions.com/checkgr.png) no-repeat 20% 80%; }
a.current { background: #40a9da; -moz-box-shadow: inset 0 0px 5px rgba(0, 0, 0, 0.7); -webkit-box-shadow: inset 0 0px 5px rgba(0, 0, 0, 0.7); box-shadow: inset 0 0px 5px rgba(0, 0, 0, 0.7); }
a:active { color: red; }
a em { float: left; font-size: 17px; color: #aaa; font-weight: normal; margin: -10px 0px 0px -5px; }
</style>

1 个答案:

答案 0 :(得分:0)

我认为将你的意思“打印”成HTML元素。

尝试创建占位符元素:<p id="foo">Placeholder</p>并使用javascript覆盖其内容:

function setText(text) {
  document.getElementById("foo").innerHTML = text;
}

在您的链接代码中,代替alert(),放置:

onclick="setText(this.id);"

另外,请注意混合PHP和HTML / CSS是不好的做法。我强烈建议将逻辑分成不同的类,并使用模板显示信息。