短縮版:
フォームのボタンラベルテキストを、タグを使用せずにサーバーに送信された値と異なるようにするにはどうすればよいですか?<button>
ロングバージョン:
フォームのボタンに表示されるテキストを、クエリ文字列で送信された値とは異なるものにしたかったのです。それで、私は周りを見回して、このアプローチに出くわしました...
<button name="method" type="submit" value="repackage">Update Config</button>
...そしてそれは私のラップトップの1つでIE9で動作し、私は幸せでした。ユーザーは「UpdateConfig」とmethod=repackage
クエリ文字列で受信したサーバーを見ました。
次に、このアプリを動作させて、IE9を使用してワークステーションで実行しました。しかし、何かがうまくいかなかった。ユーザーには引き続き「UpdateConfig」が表示されますが、サーバーmethod=Update%20Config
はクエリ文字列で受信するようになりました。
それで私はもう少し調査しました。www.w3schools.com<button>
は、フォームでタグを使用しないことをお勧めしていることがわかりました。この記事では、「HTMLフォームで要素を使用する<button>
と、ブラウザによって送信される値が異なる場合があり<input>
ます。HTMLフォームでボタンを作成するために使用してください」と述べています。これは私が経験していることのようです。
それで私はもう少し調べて、これを行う正しい方法について多くの矛盾する情報を見つけました。たとえば、これはまさにこの質問をするStack Overflowの投稿<button>
ですが、受け入れられる答えはタグを使用することです。経験と研究から、これは信頼できるアプローチではないと言えます。