簡體   English   中英

使用javascript和php顯示日歷

[英]to display calendar using javascript and php

我是該PHP的新手,我試圖開發一個代碼,以便當我單擊啟動日歷時它會顯示日歷,當我選擇它將在文本字段中顯示的日期時,我的問題是當我單擊啟動日歷時它不顯示feburay月份。 。我不知道我代碼中的錯誤,任何人都可以在這方面幫助我..在此先感謝..這是我開發的代碼...

<?php

$day = $_GET["day"];
$month = $_GET["month"];
$year = $_GET["year"];
$sel = $_GET["sel"];
$what = $_GET["what"];
$field = $_GET["field"];
$form = $_GET["form"];

if($day == "") $day = date("j");

if($month == "") $month = date("m");

if($year == "") $year = date("Y");

$currentTimeStamp = strtotime("$year-$month-$day");
$monthName = date("F", $currentTimeStamp);
$numDays = date("t", $currentTimeStamp);
$counter = 0;
?>


<html>
<head>
<title>MyCalendar</title>
<link rel="stylesheet" type="text/css" href="calendar.css">
<script language="javascript">
    function goLastMonth(month,year,form,field)
    {

        if(month == 1)
    {
    --year;
    month = 13;
    }       
        document.location.href = 'calendar.php?month='+(month-1)+'&year='+year+'&form='+form+'&field='+field;
    }

    function goNextMonth(month,year,form,field)
    {

        if(month == 12)
    {
    ++year;
    month = 0;
    }   
        document.location.href = 'calendar.php?month='+(month+1)+'&year='+year+'&form='+form+'&field='+field;
    }

    function sendToForm(val,field,form)
    {

        eval("opener.document." + form + "." + field + ".value='" + val + "'");
        window.close();
    }
</script>
</head>
<body style="margin:0px 0px 0px 0px" class="body">
<table width='175' border='0' cellspacing='0' cellpadding='0' class="body">
    <tr>
        <td width='25' colspan='1'>
        <input type='button' class='button' value=' < ' onClick='<?php echo "goLastMonth($month,$year,\"$form\",\"$field\")"; ?>'>
        </td>
        <td width='125' align="center" colspan='5'>
        <span class='title'><?php echo $monthName . " " . $year; ?></span><br>
        </td>
        <td width='25' colspan='1' align='right'>
        <input type='button' class='button' value=' > ' onClick='<?php echo "goNextMonth($month,$year,\"$form\",\"$field\")"; ?>'>
        </td>
    </tr>
    <tr>
        <td class='head' align="center" width='25'>S</td>
        <td class='head' align="center" width='25'>M</td>
        <td class='head' align="center" width='25'>T</td>
        <td class='head' align="center" width='25'>W</td>
        <td class='head' align="center" width='25'>T</td>
        <td class='head' align="center" width='25'>F</td>
        <td class='head' align="center" width='25'>S</td>
    </tr>
    <tr>
<?php
    for($i = 1; $i < $numDays+1; $i++, $counter++)
    {
        $timeStamp = strtotime("$year-$month-$i");
        if($i == 1)
        {

        $firstDay = date("w", $timeStamp);

        for($j = 0; $j < $firstDay; $j++, $counter++)
        echo "<td> </td>";
        }

        if($counter % 7 == 0)
        echo "</tr><tr>";

        if(date("w", $timeStamp) == 0)

        $class = "class='weekend'";
        else
        if($i == date("d") && $month == date("m") && $year == date("Y"))
        $class = "class='today'";
        else
        $class = "class='normal'";

        echo "<td class='tr' bgcolor='#ffffff' align='center' width='25'><a class='buttonbar' href='#' onclick=\"sendToForm('".sprintf("%02d/%02d/%04d", $month, $i, $year)."','$field','$form');\"><font $class>$i</font></a></td>";
    }
?>
    </tr>
</table>
</body>
</html>

這不是您的腳本的修復程序,但可能是您的問題的修復程序。 僅使用預制的完整javascript日歷庫難道不是很容易嗎?

喜歡: Jscalendar 演示

Jquery Ui Datepicker +演示

由於日歷將在客戶端上運行,因此只能使用客戶端代碼來完成此任務。 @ RJD22指出,使用javascript和像Jquery這樣的預制庫。 我認為一般來說,當您可以在客戶端端完成使用服務器端的任務時,這會更好,因為服務器資源有限

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM