【问题标题】:jquery ui datepicker take value 1970 if input field is blank如果输入字段为空,jquery ui datepicker 取值 1970
【发布时间】:2011-11-02 10:23:42
【问题描述】:

我正在使用 jquery ui 日期选择器来获取 fromDate 和 toDate

以下是起始日期的代码

 <input name="from_date" id="from_date" maxlength="20" size="20" type="text"/>  

   $("#from_date").datepicker({
            dateFormat: 'M dd, yy',
            showButtonPanel: true,
            changeMonth: true,
            changeYear: true,
            defaultDate: null
        });   

现在我使用表单在使用 PHP 的 POST 变量中获取值
如果 fromDate 字段为空白,则取值为 '1970-01-01' 我希望它为空白

【问题讨论】:

  • 你能在获取变量的地方包含 PHP 脚本吗?你在 PHP 中转换为另一种类型吗?
  • 以下是我的PHP代码$sdate = showDate($_POST['from_date'],'Y-m-d');
  • 和 showDate() 函数?
  • 我的猜测是,当在 PHP 中使用showDate 或其他date 函数时,如果输入是emptynull,那么创建的日期是纪元(即1970-01- 01)
  • @Matteo - 如果用户可以选择该日期,这将不起作用....

标签: javascript jquery jquery-ui jquery-ui-datepicker


【解决方案1】:

更改您的 PHP 函数是使用 empty 而不是 null

function showDate($date,$format='m-d-y, h:i a') {
   if(empty($date)) return ' ';
   return date($format,strtotime($date)); 
}

【讨论】:

  • 感谢 ManseUK,我的 PHP 函数有问题我将条件设置为 NULL 值
【解决方案2】:

尝试设置defaultDate: '' 或完全删除它

【讨论】:

    【解决方案3】:

    您可以在 jquery ui 文档 (here) 中找到,如果您不精确的 defaultDate 选项,默认日期是当前日期。

    【讨论】:

    • 不,不是 -> defaultDate Default:null
    • @ManseUK 更好地阅读...“如果该字段为空白,则设置在首次打开时突出显示的日期。通过 Date 对象或当前 dateFormat 中的字符串指定实际日期,或从今天开始的天数(例如 +7)或一串值和句点('y' 表示年,'m' 表示月,'w' 表示周,'d' 表示天,例如 '+1m +7d') , 今天为空".
    • 道歉 - null 今天确实是平等的......无论如何这不是问题 - defaultDate 是打开日期选择器时第一次选择的日期......
    猜你喜欢
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 2016-11-18
    • 2011-05-09
    • 1970-01-01
    相关资源
    最近更新 更多