我希望了解如何更好地构建我在当前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的情况下优雅地降级并仍然获得用户本地日期时间?
我注意到在网站上像Facebook一样,如果你关闭JavaScript,相当多的网站根本就没有提供(聊天,新闻源更新),而在我的场景中没有得到用户本地日期时间根本就不是选项。在我的网站上正确操作这种特殊情况是至关重要的。