【问题标题】:Do all browsers ignore nameless input fields?所有浏览器都忽略无名输入字段吗?
【发布时间】:2012-10-08 15:24:37
【问题描述】:

如果没有指定 name 属性,是否保证浏览器不发送输入元素?

例如,我们可以假设发布下面的表单不会发送信用卡号吗?

<form action="/process" method="post">
  <input id="credit-card-number" type="text">
  <input type="submit" name="commit" value="Go">
</form>

【问题讨论】:

  • 不可能说“所有浏览器”是否正确处理规范。但是所有重要的浏览器都可以。
  • 是什么让你问这个?提示输入信用卡号看起来有风险,那么如果您不想发送,为什么要这样做呢?
  • @JukkaK.Korpela 通过不向您的服务器发送信用卡信息,PCI 合规性标准显着下降。在这种情况下,我们通过 AJAX 验证其他订单信息。一旦经过验证,我们会即时生成一个隐藏的信用卡表格,并将其发送给网关提供商,从而避免承担巨大的责任。

标签: html http-post forms input-field name-attribute


【解决方案1】:

如果没有指定名称属性,是否保证浏览器不发送输入元素?

是的(除非你用 JavaScript 来改变它)。

规范很清楚controls without names cannot be successful

成功的控件必须在 FORM 元素中定义,并且必须具有控件名称。

【讨论】:

    【解决方案2】:

    标准规定要发送输入,它应该是一个成功的“控制”。

    如果一个控件没有name,它就不是一个成功的“控件”,所以它应该被发送。

    http://www.w3.org/TR/html401/interact/forms.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-25
      • 1970-01-01
      • 2011-04-20
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多