SharePoint中InfoPath表单日期选择器不显示,报错datetime1036未定义
我之前处理过好几个类似的多语言混合环境下InfoPath日期选择器罢工的案例,你遇到的这个datetime1036 is not defined报错,本质是SharePoint没有正确加载法语(fr-FR)版本的日期本地化脚本资源——datetime1036对应的正是法语的日期格式规则脚本。结合你的混合语言环境(法语Windows/SharePoint/InfoPath + 英文版SQL),可以按以下步骤排查修复:
1. 确认SharePoint网站的区域与语言设置
首先要保证SharePoint网站集的语言环境和你的InfoPath表单匹配:
- 打开目标SharePoint网站,点击右上角设置图标 → 网站设置
- 在“网站管理”区域找到区域设置,检查:
- 区域选择“法国(France)”
- 网站语言设置为“法语”
- 日期格式选择符合法语习惯的格式(比如
dd/mm/yyyy)
保存设置后刷新页面,测试日期选择器是否恢复。
2. 手动强制加载法语本地化脚本
如果自动加载逻辑失效,可以通过修改页面母版页或表单自定义代码,强制引入法语版本的脚本:
方式一:修改网站母版页
- 打开SharePoint Designer,连接到目标网站
- 找到并编辑当前使用的母版页(比如
seattle.master) - 在
<head>标签内添加以下脚本引用:
<!-- 加载法语本地化字符串和UI控件脚本 --> <script type="text/javascript" src="/_layouts/15/fr-FR/strings.js"></script> <script type="text/javascript" src="/_layouts/15/fr-FR/SP.UI.Controls.js"></script>
- 保存母版页并发布,刷新表单页面测试
方式二:在InfoPath表单中添加自定义脚本
- 打开有问题的InfoPath表单模板
- 点击“数据”选项卡 → 表单加载,添加以下JavaScript代码:
// 动态加载法语日期脚本 function loadScript(url, callback) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; script.onload = callback; document.head.appendChild(script); } // 加载所需的法语本地化脚本 loadScript('/_layouts/15/fr-FR/SP.UI.Controls.js', function() { console.log("法语UI控件脚本加载完成"); });
- 重新发布表单到SharePoint,测试日期选择器
3. 检查InfoPath表单的语言配置
确保InfoPath表单的语言设置和SharePoint网站一致:
- 打开InfoPath表单模板,点击“文件” → 选项 → 语言
- 确认默认语言是“法语”,并且在“添加语言”列表中包含法语
- 发布表单时,在“发布向导”中确认选择的目标网站语言为法语,避免发布时出现语言版本不匹配的问题
4. 清除多层缓存
缓存是这类脚本加载问题的常见元凶,需要清理以下几处:
- 浏览器缓存:按下
Ctrl+Shift+Delete,选择清除缓存和Cookie,重启浏览器后测试 - SharePoint服务器缓存:
- 打开SharePoint管理中心 → 系统设置 → 管理服务器上的服务
- 停止“SharePoint Foundation Web Application”服务
- 找到服务器上的缓存文件夹(默认路径:
C:\ProgramData\Microsoft\SharePoint\Config\<GUID>) - 删除文件夹内所有
.cache文件和ini文件(不要删除文件夹本身) - 重启“SharePoint Foundation Web Application”服务
5. 验证SQL Server数据库排序规则
虽然SQL是英文版,但数据库排序规则可能影响日期数据的存储和前端解析:
- 打开SQL Server Management Studio,连接到你的SQL实例
- 找到SharePoint对应的内容数据库,右键 → 属性 → 选项
- 检查排序规则是否为
French_CI_AS(或其他支持法语的排序规则) - 如果不是,可以考虑修改数据库排序规则(注意:修改前请备份数据库)
按照以上步骤逐一排查,基本可以解决datetime1036 is not defined的报错,恢复日期选择器的正常显示。
内容的提问来源于stack exchange,提问作者chahinez
相关产品推荐
相关产品推荐

