2

我是 smarty 模板的新手,我添加了日历,我只想将日历的日期传递到其他页面。

例如:
当用户点击24-12-2012日期时,我需要一个类似以下格式的网址:
`eventpost.php?ed=24-12-2012`

我有 calendar.tpl 文件:

$('#calendar').fullCalendar({
    dayClick: function (date, allDay, jsEvent, view) {
        var myJsDate = date;
        var dispDate = myJsDate.getDate() + '-' + (myJsDate.getMonth() + 1) + '-' + myJsDate.getFullYear(); // 24-12-2012
        var det = dispDate
        $("#currentDate").val(dispDate);
        $('#offDayPopUp').dialog({
            autoOpen: true,
            modal: true,
            resizable: false,
            width: 300,
            height: 180,
            draggable: false
        });
        $('#calmonth_' + myJsDate.getMonth()).addClass('cal_month_active');
    },

HTML:

<div id="offDayPopUp" class="offDayDialog" title="Create Event,Commitment,Visiting Area.">
    <div class="CrateDiv">
        <div style="float:left; padding-right:10px;"><b>Date :</b></div>
        <div><input type="text" name="currentDate" id="currentDate" readonly="readonly" /></div>
        <ul>
            <li><a href="{$cfgRoot}/event/eventPost.php"><b>Create A New Event.</b></a></li>
            <li><a href="{$cfgRoot}/commitment/commitment.php"><b>Create A New Commitment.</b></a></li>
            <li><a href="{$cfgRoot}/area/areaPost.php"><b>Create A New Visiting Area.</b></a></li>
        </ul>
    </div>
</div>

我只想将该日期从 JavaScript 传递到 url,例如:

eventPost.php?ed=24-12-2012
commitment.php?ed=24-12-2012
areaPost.php?ed=24-12-2012
4

2 回答 2

2

跟随丹麦 hasmi 使用 PHP 的可能性,最好像这样使用 PHP。Javascript 并不打算用于可以在服务器端完成的数据操作。

//[...]
<li><a href="{$cfgRoot}/event/eventPost.php?ed={php}echo date('d-m-Y',mktime());{/php}"><b>Create A New Event.</b></a></li>
//[...]

请参阅php.net上的 mktime 以调整 mktime 参数并将其设置在您想要的日期。

//更新

尽管使用 PHP 更有意义,但为了您的利益,这就是您在 Javascript 中执行此操作的方式。

$('#calendar').fullCalendar({
    dayClick: function (date, allDay, jsEvent, view) {
        var myJsDate = date;
        var dispDate = myJsDate.getDate() + '-' + (myJsDate.getMonth() + 1) + '-' + myJsDate.getFullYear(); // 24-12-2012

        $(".CrateDiv > ul").find("li").each(function() {
           var atmhref = $("a",this).attr("href");
           $("a",this).attr("href",atmhref+"?ed="+dispDate);
        });
        //...
于 2012-12-14T08:47:45.327 回答
1

试试这种方式,您可以使用 onclick 事件并使用 Javascript 函数传递选定的日期

<script>
 {literal}
 function golink(type) {
   var selecteddate = $("#currentDate").val();
   if(type=='event'){
       location.href="http://www.mysite.com/event/eventPost.php?ed="+selecteddate;
    }
   if(type=='commitment'){
       location.href="http://www.mysite.com/commitment/commitment.php?ed="+selecteddate;
    }
  if(type=='area'){
       location.href="http://www.mysite.com/area/areaPost.php?ed="+selecteddate;
    }
 }
  {/literal}
</script>


<div id="offDayPopUp" class="offDayDialog" title="Create Event,Commitment,Visiting Area.">
    <div class="CrateDiv">
        <div style="float:left; padding-right:10px;"><b>Date :</b></div>
        <div><input type="text" name="currentDate" id="currentDate" readonly="readonly" /></div>
        <ul>
            <li><a href="#" onclick="golink('event')"><b>Create A New Event.</b></a></li>
            <li><a href="#" onclick="golink('commitment')"><b>Create A New Commitment.</b></a></li>
            <li><a href="#" onclick="golink('area')"><b>Create A New Visiting Area.</b></a></li>
        </ul>
    </div>
</div>
于 2012-12-14T08:48:10.933 回答