2012-10-08 4 views
5

name属性が指定されていない場合、ブラウザがinput要素を送信しないことが保証されていますか?名前のない入力フィールドはすべてのブラウザで無視されますか?

たとえば、以下のフォームを送信してもクレジットカード番号が送信されないとしますか?

<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

それはname属性が指定されていない場合は、ブラウザは入力要素を送信しないことを保証しますか?

はい(これを変更するにはJavaScriptを使用しないでください)。

controls without names cannot be successfulという仕様はかなり明確です。

正常な制御は、FORM要素内で定義され、制御名を持つ必要があります。

0

標準では、入力を送信するには成功したコントロールである必要があります。コントロールには名前がない場合、コントロールが成功していないため、送信する必要があります。 http://www.w3.org/TR/html401/interact/forms.html

関連する問題