首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据表单如何发送时代格式而不是格式化日期?

数据表单如何发送时代格式而不是格式化日期?
EN

Stack Overflow用户
提问于 2017-05-20 14:06:57
回答 1查看 267关注 0票数 0

当表单提交时,我想发送用户日期时间选择的时代格式值。

你能告诉我我怎么做到的吗?http://s529471052.onlinehome.fr/datetimeform/gpio/test5.htm

我希望用这样的GET方法发送时代数据: /test5.htm?datetime=1494335700

目前,它发送了在后端无法使用的优秀格式:

/test5.htm?datetime=29+December+2016+-+10%3A50&submit=

--

顺便说一句,由于一些未知的原因,“Delete”和“Calendar”图标图标将不会显示在Delete表单中,甚至css文件也不存在。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-21 05:20:01

由于您使用的“DateTimePicker”库似乎对此没有任何支持,所以您必须自己修补它。

首先,给现有的#dtp_input1元素一个name,以便将其作为参数发送:

代码语言:javascript
复制
<input id="dtp_input1" name="dtp_input1" type="hidden"/>

接下来,我们需要钩子选择器的setValue()方法,以便将字段的值转换为我们想要的格式:

代码语言:javascript
复制
/* 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+January+2017+-+03%3A15&dtp_input1=1484842500000

其中dtp_input1是时代值,datetime是文本框中可读的字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44086843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档