javascript - 日期时间表单如何发送纪元格式而不是格式化日期?

标签 javascript html datetime epoch

我想在提交表单时发送用户日期时间选择的纪元格式值

你能告诉我如何做到这一点吗? 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/

相关文章:

javascript - 有没有办法在滚动事件之前采取行动?

php - 获取本周的时间戳

php - 提交 AJAX 表单后获取访问者的 IP 地址

javascript - 如何从下面的代码中获取复选框值

javascript - 无法复制 nginx/etc/nginx/conf.d/default.conf 中的配置文件

jquery - 如何使用位置: absolute and have an automatic height

javascript - javascript 类定义与对象的性能

python - Eclipse 中的 HTML/CSS/JS 语法高亮显示

mysql - 使用 DATE_SUB 选择小于 5 分钟的行

python - 更改Python的日期时间模块中的年份开始时间?