我想在提交表单时发送用户日期时间选择的纪元格式值
你能告诉我如何做到这一点吗? http://s529471052.onlinehome.fr/datetimeform/gpio/test5.htm
我希望使用 GET 方法发送纪元数据,如下所示:/test5.htm?datetime=1494335700
目前它发送的未完成格式在后端不可用:
/test5.htm?datetime=29+12月+2016+-+10%3A50&submit=
--
顺便说一句,由于某些未知的原因,即使有 css 文件,“删除”和“日历”图形图标也不会显示在日期时间表单中。
最佳答案
自 ' DateTimePicker ' 您正在使用的库似乎对此没有任何支持,您必须自己修补它。
首先为现有的#dtp_input1
元素指定一个名称
,以便将其作为参数发送:
<input id="dtp_input1" name="dtp_input1" type="hidden"/>
接下来我们需要 Hook 选择器的 setValue()
方法,以便将字段的值设置为我们想要的格式:
/* get the datetimepicker controller */
let picker = $(`.form_datetime`).data(`datetimepicker`);
/* override its setValue() method */
let f = picker.setValue;
picker.setValue = function(...xs) {
/* call the original method first */
f.call(this, ...xs);
/* now set the linked field to epoch format */
$(`#${this.linkField}`)
.val(`${(this.getDate() || new Date(0)).getTime()}`);
};
现在,当您提交表单时,它应该会生成如下查询:
?datetime=20+一月+2017+-+03%3A15&dtp_input1=1484842500000
其中 dtp_input1
是纪元值,datetime
是文本框中人类可读的字符串。
关于javascript - 日期时间表单如何发送纪元格式而不是格式化日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44086843/