2012-10-08 78 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元素中定義,並且必須有一個控件名稱。