所有
最近我发现了一些用户注册的HTML源代码,如下所示:
<form action="/users" class="signup-form" data-url="/users/current" id="new_user" method="post">
<input id="user_user_name" name="user[user_name]">
<input id="user_password" name="user[password]">
<input id="create-account-button" name="commit" type="submit" value="Create Account" />
</form>
我的问题是:
1)data-url在这里是什么意思? 2)为什么把输入字段名称作为用户[user_name],用户[密码]这种格式?不应该像'user_name'和'password'那样使输入名称更容易吗? 我的意思是,这必须与数据模型用户有关,因此以这种方式命名对于服务器处理会更好。
有人能告诉我这是新的HTML功能还是jQuery功能?我在网上做了很多搜索,但我找不到答案。你能为我提供这个新的html格式提交的链接或教程吗?
非常感谢。 萨姆
答案 0 :(得分:3)
data-*
属性是HTML5的一部分。他们由实施者决定他们的意思。
name
属性的格式也是任意的。它取决于服务器端的框架来处理它。
答案 1 :(得分:3)
这是HTML5规范中的新功能。这是一种向您的代码添加自定义属性并让您的文档仍然通过验证的方法。
答案 2 :(得分:0)
页面通常包含旨在由客户端应用程序处理的其他元信息。除了应用程序作者想要的意思之外,这些数据没有特殊意义。
在早期版本的HTML中,页面作者将使用任意属性名称来传递这些属性。这会导致页面验证器出现问题。
在HTML5中,W3C将data-XXX
属性作为命名空间引入,以允许传递此数据,而不会冒与正确元素属性冲突的风险。
这些值可以(在兼容的浏览器中)通过el.dataset
属性访问。
答案 3 :(得分:0)
data附带了html5,用于需要自定义html属性时。
示例您需要一个属性来保存某些人的名字,这样做是无效的:
<inpu type="text" name="carlos" id="whatever"/>.
但是,这样做,浏览器将支持该属性:D。
<input type="text" data-name="carlos" id="whatever"/>.
答案 4 :(得分:0)
看起来它可能会让页面上的内容更快。
这是我找到的链接:
http://www.shawnmclean.com/blog/2011/02/how-can-html5-data-attributes-data-helps-efficiency/