You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery Datepicker特定日期禁用功能在GoDaddy Windows主机失效求助

解决jQuery Datepicker部署到GoDaddy Windows主机后禁用日期失效的问题

兄弟,我之前也踩过类似的Windows主机部署坑,你的问题核心大概率是日期字符串格式不匹配导致的!

问题分析

你本地运行正常,但上线后失效,关键出在这两点:

  • 代码里用jQuery.datepicker.formatDate('mm/dd/yy', date)生成的是带前导零的日期(比如01/07/2018)
  • 但你的disableddates数组里的日期是不带前导零的格式(比如1/7/2018)

这俩字符串完全不一样,indexOf自然找不到匹配项,所以禁用逻辑就失效了。至于本地为啥正常?估计是你本地环境里result数组的日期格式刚好和格式化后的一致,或者本地的Datepicker区域设置默认生成不带前导零的格式,刚好凑上了。

两种解决方案

方案1:统一格式化规则为不带前导零

直接把formatDate的格式改成'm/d/yy'(小写m和d代表可选前导零),让生成的字符串和disableddates格式完全匹配:

var disableddates = result; //result是日期数组 ["1/7/2018","1/8/2018","1/9/2018"]
$("#txtFromdate").datepicker({ minDate: 0, beforeShowDay : DisableSpecificDates });
$("#txtTodate").datepicker({ minDate: 0, beforeShowDay : DisableSpecificDates });
function DisableSpecificDates(date) {
  // 改成m/d/yy,生成和disableddates一致的格式
  var string = jQuery.datepicker.formatDate('m/d/yy', date);
  console.log(string); // 现在会输出1/7/2018这类不带前导零的格式
  return [disableddates.indexOf(string) == -1];
}

方案2:把禁用日期数组转成带前导零的格式

如果不想改Datepicker的格式化规则,可以提前处理disableddates数组,把所有日期转成带前导零的mm/dd/yy格式:

// 先统一禁用日期的格式为带前导零的mm/dd/yy
var formattedDisabledDates = result.map(function(dateStr) {
  var [month, day, year] = dateStr.split('/');
  // 给月份和日期补前导零
  var paddedMonth = month.padStart(2, '0');
  var paddedDay = day.padStart(2, '0');
  return `${paddedMonth}/${paddedDay}/${year}`;
});

$("#txtFromdate").datepicker({ minDate: 0, beforeShowDay : DisableSpecificDates });
$("#txtTodate").datepicker({ minDate: 0, beforeShowDay : DisableSpecificDates });

function DisableSpecificDates(date) {
  var string = jQuery.datepicker.formatDate('mm/dd/yy', date);
  console.log(string);
  // 用处理后的数组做匹配
  return [formattedDisabledDates.indexOf(string) == -1];
}

验证建议

上线前可以在GoDaddy主机的页面打开浏览器控制台,看看console.log(string)输出的格式和disableddates里的元素是不是真的不一样,这样就能100%确认问题根源啦。

内容的提问来源于stack exchange,提问作者Dharmesh Mistry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:27:19