フォームボタンを押した時に不要な name 属性のパラメータを除去する

http://www.example.com/search_program?keyword=<検索文字列>&search_btn=SEARCH

上記のように、search_program というプログラム(cgi)に keyword パラメータを与えて検索を実行する画面があるとします。

form 部分の html は、下記のようになります。

<form method="get" action="search_program">
<input type="text" name="keyword">
<input name="search_btn" type="submit" value="SEARCH">
</form>


この時、search_program 側で、ボタン部のパラメータ「search_btn=SEARCH」が不要な場合は、下記のようにすることでパラメータ「search_btn=SEARCH」を取り除き、URL をすっきりさせることが可能です。

<form method="get" action="search_program">
<input type="text" name="keyword">
<input name="search_btn" type="submit" value="SEARCH" onclick="this.removeAttribute('name')">
</form>

上記 HTML でボタンを押下した場合は、下記のように「search_btn=SEARCH」が除去された URL に遷移します。

http://www.example.com/search_program?keyword=<検索文字列>


[追記] 2011/08/15
何らかの理由により、ボタンを押下するまでは name 属性が必要なケースです。
最初から不要な場合は、そもそも name 属性を記述しなければOKです。

<input type="submit" value="SEARCH">