当前位置:首页 » 网络教程 » 正文

织梦教程:教你用js获取用户留言时间!

309 人参与  2017年08月18日 20:25  分类 : 网络教程  评论


公司官网使用的是dedecms,在自定义表单中新建了一个表单作为留言框,而且需要记录。

初步是想法是用户打开页面的时候,记录时间,然后写入到一个隐藏的input里面,跟随表单提交即可。

timg.jpg


原先使用获取时间的js如下:

JavaScript
$(function() {
    var nowDate = new Date();
    var str = nowDate.getFullYear() + "-" + (nowDate.getMonth() + 1) + "-" + nowDate.getDate() + " " + nowDate.getHours() + ":" + nowDate.getMinutes() + ":" + nowDate.getSeconds();
    document.getElementById("time").value = str;});

html如下:

Markup
<input type="hidden" name="times" id="times" class="intxt" value="">

功能是实现了,但是后来查看留言时候发现,居然有些人留言是2008年,2009年,2010年等,我擦咧,这是穿越了吗?

才发现上面的js获取来的是用户电脑的时间,如果用户电脑时间不正确的话,就会出现上面说的那种情况。

百度一番,找到以下的可用JS:

JavaScript
ajax();function ajax(option) {
    var xhr = null;
    if (window.XMLHttpRequest) {
        xhr = new window.XMLHttpRequest();
    } else { // ie
        xhr = new ActiveObject("Microsoft")
    }
    // 通过get的方式请求当前文件
    xhr.open("get", "/");
    xhr.send(null);
    // 监听请求状态变化
    xhr.onreadystatechange = function() {
        var time = null,
        curDate = null;
        if (xhr.readyState === 2) {
            // 获取响应头里的时间戳
            time = xhr.getResponseHeader("Date");
            console.log(xhr.getAllResponseHeaders()) curDate = new Date(time);
            document.getElementById("time").innerHTML = "服务器时间是:" + curDate.getFullYear() + "-" + (curDate.getMonth() + 1) + "-" + curDate.getDate() + " " + curDate.getHours() + ":" + curDate.getMinutes() + ":" + curDate.getSeconds();
        }
    }}

html如下:

Markup
<p id="time"></p>

这样子获取到的时间就是服务器上面的时间啦,只要服务器时间正常就好了。



来源:皇族网(微信公众号:新皇族网),转载请保留出处和链接!

本文链接:https://huangzuw.com/post/59.html

本文标签:织梦CMS  网络教程  

<< 上一篇 下一篇 >>

  • 评论(0)
  • 相关文章

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

© 2017 皇族网版权所有粤ICP备17025864号-2

Top

分享:

支付宝

微信