2013-12-11 20 views
3

我使用CakePHP构建一个日历应用程序和它看起来在Chrome/Firefox中但等伟大的,当我去干什么,在IE一些测试我注意到,日期选择器没有加载在所有:CakePHP的表单助手和IE浏览器存在的问题与日期

IE Date Picker

Chrome Date Picker

任何帮助,将不胜感激。

Ross。

编辑: PHP代码和HTML输出

echo $this->Form->input('start_date', array(
    'type' => 'Date', 
    'label' => array('text' => 'Start Date', 'class' => 'formField'),'dateFormat' => 'DMY','minYear' => date('Y') - 70, 'maxYear' => date('Y') - 18,)); 

echo $this->Form->input('end_date', array(
    'type' => 'Date', 
    'label' => array('text' => 'End Date', 'class' => 'formField'),'dateFormat' => 'DMY','minYear' => date('Y') - 70,'maxYear' => date('Y') - 18,)); 

HTML:

<form action="/EbCal/admins/report" id="reportIndexForm" method="post" accept-charset="utf-8"> 
    <div style="display:none;"> 
    <input type="hidden" name="_method" value="POST"/> 
    </div> 
    <div class="input Date"> 
    <label for="reportStartDate" class="formField">Start Date</label> 
    <input name="data[report][start_date]" dateFormat="DMY" minYear="1943" maxYear="1995" type="Date" id="reportStartDate"/> 
    </div> 
    <div class="input Date"> 
    <label for="reportEndDate" class="formField">End Date</label> 
    <input name="data[report][end_date]" dateFormat="DMY" minYear="1943" maxYear="1995" type="Date" id="reportEndDate"/> 
    </div> 
    <BR> 
    <div class="submit"> 
    <input type="submit" value="Generate Report"/> 
    </div> 
</form> 
+0

工作代码,并试图解决它,你已经尝试也将赞赏:) – Nunser

回答

1

的Internet Explorer以及Firefox的不支持 “日期” 的输入类型。 (即<input type="Date">

CakePHP会通常产生一组选择下拉菜单中进行选择的时间,如果浏览器是IE。我不确定为什么你的不是,但选择下拉菜单很少看起来非常用户友好。

支持IE和其他浏览器的最佳解决方案是实现了一个datepicker一个JavaScript的解决方案。

有许多在那里,我发现最人性化的一个是这样的一个:http://www.ama3.com/anytime/

+0

如果我不使用'type'=> Date在我的表单帮助器中生成下拉菜单,但正如您所说,我发现这非常笨重,不太友好,所以我强迫它使用Date类型。 我打算回到最后的解决方案。 感谢您的帮助,非常感谢:) –