1

全部,

最近我发现了一些用于用户注册的 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[user_name],user[password]这种格式?不应该让输入名称就像'user_name'和'password'更容易吗?我的意思是,这必须与数据模型用户有关,因此以这种方式命名对于服务器处理会更好。

谁能告诉我这是新的 HTML 功能还是 jQuery 功能?我在网上做了很多搜索,但我找不到答案。你能给我这个新的 html 格式提交的任何链接或教程吗?

非常感谢。山姆

4

5 回答 5

4
  • data-*属性是 HTML5 的一部分。它们由实施者决定它们的含义。

  • 属性的格式name也是任意的。它由服务器端的框架来处理它。

于 2013-05-23T19:33:01.380 回答
3

它是 HTML5 规范中的新内容。这是一种将自定义属性添加到您的标签并让您的文档仍然通过验证的方法。

http://html5doctor.com/html5-custom-data-attributes/

于 2013-05-23T19:34:36.060 回答
0

页面通常包含旨在由客户端应用程序处理的附加元信息。除了应用程序作者希望它的含义之外,此数据没有特殊含义。

在早期版本的 HTML 中,页面作者会使用任意属性名称来传递这些属性。这会给页面验证器带来问题。

在 HTML5 中,W3C 引入了data-XXX属性作为命名空间,以允许传递此数据而不会冒与适当元素属性发生冲突的风险。

这些值可以(在兼容的浏览器中)通过el.dataset属性访问。

于 2013-05-23T19:35:59.100 回答
0

data带有 html5,用于当您需要自定义 html 属性时。

例如,您需要一个属性来保存某些人的姓名,这样做是无效的:

<inpu type="text" name="carlos" id="whatever"/>.

但是这样做,浏览器将接受该属性:D。

<input type="text" data-name="carlos" id="whatever"/>.
于 2013-05-23T19:36:30.413 回答
0

看起来它可能会使页面上的内容移动得更快。

这是我找到的链接:

http://www.shawnmclean.com/blog/2011/02/how-can-html5-data-attributes-data-helps-efficiency/

于 2013-05-23T19:41:26.563 回答