1

我想了解如何在当前的 MVC 项目中更好地构建我的 JavaScript 工作,我想知道是否有人能够帮助我从我的应用程序中的场景中为我说明一个特定的示例。

虽然我有很多桌面开发经验和相当多的 Web 开发经验,但相比之下我只涉足过 JavaScript,我觉得我在理解和熟练度方面还有很大的提升空间。具体围绕如何充分利用 W3C DOM 标准。

我的网站上有一个简单的表单,它向操作方法发布一些字符串数据、布尔值和日期,该方法的签名是:

MVC 控制器签名

    [HttpPost, ValidateAntiForgeryToken]
    public void PostNewEntry(string text, string localUsersDateTime, bool isPublic)

我将以下内容定义为表单 html 属性的一部分:

内联 JavaScript 函数调用

new { @name = "createentry", @onsubmit = "setLocalDateTime(this.localUsersDateTime);" }

localUsersDateTime 是表单上的一个隐藏输入元素,在提交表单时会执行一个小的 JavaScript 函数(存储在单独的 .js 文件中,而不是内联),该函数利用moment.js来设置用户的本地日期和时间。表单数据被发送回网站。setLocalDateTime 函数如下所示:

JavaScript 函数 (MyScripts.js)

function setLocalDateTime(obj) {
    obj.value = moment().format("YYYY-MM-DD HH:mm:ss");
}

我真的对这种情况有两个问题:

如何把它变成真正不显眼的 JavaScript?

在没有任何 Javascript 的情况下,如何真正优雅地降级并仍然获得用户的本地日期时间?

我注意到,如果您关闭 JavaScript,在 Facebook 之类的网站上,甚至根本不提供相当数量的网站(聊天、新闻源更新),而在我的场景中,不让用户获得本地日期时间根本不是一种选择。这是在我的网站中正确操作这种特殊情况的基础。

4

0 回答 0