在DotNetNuke-7模块中使用日期选择器

在DotNetNuke-7模块中使用日期选择器,dotnetnuke,dotnetnuke-7,dnn-module,Dotnetnuke,Dotnetnuke 7,Dnn Module,我是DNN初学者。我目前正在构建一个可以显示统计数据的模块。我的DotNetNuke版本是7.0。统计数据来自Chartjs。对于这个统计,我想实现过滤器。这些过滤器应该是日期选择器。作为UI元素,我现在包含了一个带有TextMode='Date'的文本框。但目前我在设置此字段的默认值时遇到问题。默认值应为01.01。本年度的 我已经尝试通过C服务器端设置该值。不幸的是没有成功。我还尝试通过JavaScript在客户端设置值。不幸的是也没有成功 以下是我在JavaScript中尝试的几行代码:

我是DNN初学者。我目前正在构建一个可以显示统计数据的模块。我的DotNetNuke版本是7.0。统计数据来自Chartjs。对于这个统计,我想实现过滤器。这些过滤器应该是日期选择器。作为UI元素,我现在包含了一个带有TextMode='Date'的文本框。但目前我在设置此字段的默认值时遇到问题。默认值应为01.01。本年度的

我已经尝试通过C服务器端设置该值。不幸的是没有成功。我还尝试通过JavaScript在客户端设置值。不幸的是也没有成功

以下是我在JavaScript中尝试的几行代码:

document.getElementById(<%= this.DatumVon.AccessKey %>).value = "01.01.2019";
document.getElementById(<%= this.DatumVon.AccessKey %>).innerText = "01.01.2019";
document.getElementById("DatumVon").value = "01.01.2019";
我预计文本框的值为2019年1月1日。但是,它当前仅包含dd.mmm.yyyy。我怎样才能改变这个


谢谢。

您的本地化有问题。请参阅本地化部分的文档,这将为您提供答案

哇。。。我解决了。我成功了。有时候,解决方案就在你面前,而你却看不到。迈克尔·托比什是绝对正确的。设置值时,格式非常重要。我一直使用德语格式。TextMode=Date的DNN文本框无法处理此问题。DNN将此文本框转换为HTML输入字段。但是这个输入字段只能以yyyy-mm-dd格式显示。根据客户端的地理位置,至少我认为输入字段中显示的文本将被格式化。但是输入字段的值始终具有相同的格式yyyy-mm-dd。因此在这里非常重要:显示的文本和实际值具有不同的格式

再次感谢迈克尔·托比希给我的精神鼓舞和耐心


同样重要的是,对DNN元素的实际ID的访问按如下方式进行:this.element.ClientID,而不是像我在this.element.AccessKey之前假设的那样。这也是一辆马车。

对不起,但不知怎么的,我不明白这个答案。你能说清楚吗?这里有个日期格式问题。dd.mmm.yyyy注意三个m!输入的日期格式不正确,因此不适合给定的值dd.mm.yyyy。另一方面,我想这是一种德语日期格式,Javascript默认情况下不会处理。在文档中,您可以找到有关如何本地化DNN使用的jQuery UI datepicker的日期格式的信息。抱歉,不知何故,我的回答中丢失了链接-我刚刚更正了该部分。日期格式中的mmm只是一个输入错误。我的意思是说,我猜DNN使用jQuery日期选择器的信息是错误的。可能是当前DNN版本使用jQuery日期选择器。但无论如何DNN7.0都不是。DNN 7.0在TextMode='date'文本框中使用类型为='date'的HTML输入标记。但是我现在尝试使用jQuery日期选择器。这也很有效。但是任何样式表都会弄乱完整的日期选择器,因此日期选择器非常难看。我该怎么办?我绝望了。。。几乎一个星期以来,我只对这个约会挑肥拣瘦的人感到恼火。阿里,我很高兴我能帮上忙。。。很抱歉,我完全忽略了上面的.AccessKey属性,它当然必须是.ClientID。
this.DatumVon.Text = "01.01.2019";