2012-10-08 46 views
5

如果浏览器没有指定名称属性,它是否会保证不发送输入元素?所有浏览器都忽略无名输入字段吗?

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

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

不可能说“所有浏览器”是否正确处理规范。但是所有重要的浏览器都可以。 – jessegavin

+0

是什么让你问这个?提示信用卡号码*看起来有风险,那么如果你不想发送它,你为什么要这样做呢? –

+1

@ JukkaK.Korpela通过不向您的服务器发送信用卡信息,PCI合规性标准显着下降。在这种情况下,我们通过AJAX验证其他订单信息。一旦通过验证,我们就会立即生成一张隐藏的信用卡表单,然后发送给网关提供商,从而避免了巨大的责任。 – randomguy

回答

10

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

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

规格很清楚controls without names cannot be successful

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