HTML/input type="submit" で value の値が送信されてしまう

HTML/input type="submit" で value の値が送信されてしまう

form を作って method を GET に設定し submit ボタンを設置した場合にsubmit ボタンの valueの値(ボタンのラベル)がパラメータにくっついてしまう(送られてしまう)ことがある。これを回避する方法

回避は簡単でおそらくそういう場合は

<input type="submit" value="hogehoge" name="piyo" />

のように設定されているのではなかろうかと

ブラウザの仕様として name 属性がくっついているとそのValue値をパラメータとして送信するという動きになっている。 なので単純に name 属性を取ってしまえば問題は解決する。

おそらくフレームワークから生成されたHTMLとかで混入したりしてこの現象になってしまうことが多いと思われる。

この動きを逆に使うと、JavaScript で制御する単なる部品として使いたいのだけど値は送信したくないという input 要素 から name 属性を取ってしまうことで値が送信されることを防げる。

html/send_submit_value_against_my_will.txt · 最終更新: 2015-03-04 10:00 by ore