2012-12-06 77 views
0

我想用JavaScript触发图片上的日历弹出窗口,但由于某种原因,它无法正常工作。有什么建议?日历功能不会触发

这里是我的代码:

<input size="12" id="f_date1" class="fields"/>&nbsp;<a href="#" class="f_btn1" title="Select your date and time."><img src="Icons/calendar.png" alt="Calendar" width="16" height="16" border="0" /></a></td> 

    <script type="text/javascript">//<![CDATA[ 
     Calendar.setup({ 
     inputField : "f_date1", 
     trigger : "f_btn1", 
     onSelect : function() { this.hide() }, 
     showTime : 12, 
     dateFormat : "%Y-%m-%d %I:%M %p" 
     }); 
    //]]></script> 

的CSS和JS的包括在头部。


UPDATE

我这样做,与

<script type="text/javascript">//<![CDATA[ 
     Calendar.setup({ 
     inputField : "f_date10", 
     trigger : "f_btn10", 
     onSelect : function() { this.hide() }, 
     showTime : 12, 
     dateFormat : "%Y-%m-%d %I:%M %p" 
     }); 

     Calendar.setup({ 
     inputField : "f_date11", 
     trigger : "f_btn11", 
     onSelect : function() { this.hide() }, 
     showTime : 12, 
     dateFormat : "%Y-%m-%d %I:%M %p" 
     }); 

     Calendar.setup({ 
     inputField : "f_date12", 
     trigger : "f_btn12", 
     onSelect : function() { this.hide() }, 
     showTime : 12, 
     dateFormat : "%Y-%m-%d %I:%M %p" 
     }); 

     Calendar.setup({ 
     inputField : "f_date13", 
     trigger : "f_btn13", 
     onSelect : function() { this.hide() }, 
     showTime : 12, 
     dateFormat : "%Y-%m-%d %I:%M %p" 
     }); 

     Calendar.setup({ 
     inputField : "f_date14", 
     trigger : "f_btn14", 
     onSelect : function() { this.hide() }, 
     showTime : 12, 
     dateFormat : "%Y-%m-%d %I:%M %p" 
     }); 

<script> 

,但没有骰子。它仍然拒绝消防即使CSS和JS添加...

+1

您将代码和HTML连接在一起的位置?所以像'document.getElementById('t_date1')。addEventListener(...)'。 –

回答

1

我想这是jsCalendar plugin
你触发: “f_btn1” 应该在锚HTML标记的ID属性,而不是
像这样:

<a href="#" id="f_btn1" title="Select your date and time."> 

取而代之的是:

<a href="#" class="f_btn1" title="Select your date and time."> 

而且,你不需要换标签内IMG。在您阅读的关于“触发”参数的日历文档中:

trigger — an ID of a <button> element (in fact any element type) that should trigger the popup calendar (the calendar hooks on the “onclick” event). 
+0

我得到了与日历Calendar;但是,有四个相同代码的实例,并且日历仅在第一个实例上触发!这真让我抓狂!为什么同一页面上的相同代码和其他一些代码有时可以工作,有时并不是!? – boy

+1

_four相同code_的实例_你的意思是有四个相同的元素具有相同的__id__属性?只能有__one__指定值的id - 这是HTML DOM规则,你不能作弊(反正你不应该 - 可能是Calendar阻止它)。如果你想在4个不同的“按钮”上实现日历触发器,我建议将4个按钮设置为不同的ID并实现四个独立的Calendar.setup方法。 – matewka