在开发网站功能时,有时需要通过前端技术来增强用户体验或收集额外的数据信息。本文将介绍如何利用JavaScript(简称JS)获取用户的IP地址和提交时间,并将其应用到Dedecms自定义表单中。

首先,我们需要在Dedecms的自定义表单中创建两个字段:一个是用于存储用户IP地址的字段(命名为“ip”),另一个是用于记录提交时间的字段(命名为“liuyantime”)。这两个字段都可以设置为文本类型。

接着,在表单模板页面完成基本数据的填写后,需要添加一段JavaScript代码来实现自动填充这些字段的功能。以下是具体的实现步骤:


<script type="text/javascript">
    window.onload = function(){
        var nowDate = new Date();
        var str = nowDate.getFullYear()+"-"+(nowDate.getMonth() + 1)+"-"+nowDate.getDate()+" "+nowDate.getHours()+":"+nowDate.getMinutes()+":"+nowDate.getSeconds();
        document.getElementById("liuyantime").value=str;
    }
</script>

<script type="text/javascript" src="http://pv.sohu.com/cityjson/getip.aspx" charset="utf-8"></script>
<script type="text/javascript">
    var ip=returnCitySN.cip+"-"+returnCitySN.cname;
    document.getElementById("ip").value=ip;
</script>
    

以上代码分为两部分:
第一部分实现了当页面加载完成后,自动获取当前系统时间并格式化为“年-月-日 时:分:秒”的形式,然后将这个值赋给ID为“liuyantime”的输入框。
第二部分则是通过调用外部API服务来获取用户的IP地址及所在城市名称,并将结果赋值给ID为“ip”的输入框。

完成上述操作后,当用户访问该表单页面时,系统会自动填入他们提交的时间点以及他们的网络位置信息(IP地址与城市)。最终效果如下图所示:

请注意,由于图片资源无法直接展示,请确保您的服务器能够正常加载相关静态资源以查看实际效果。
此外,考虑到隐私保护政策的变化,某些现代浏览器可能限制对访客真实IP地址的直接访问。因此,在实际部署前,请测试确认所有功能均能在目标环境中正确运行。