HTML フォームの標準動作を無効にしたい場合。
action="javascript:void(0);"
を指定する。
フォームから送信されるデータには通常2種類ある。一つは通常のウェブ コンテンツ取得の方法で,URI としてデータが送信される 方式(GET メソッド)である。もう一つは,標準入力として送信される方式(POST メソッド)がある。
どちらの方式でデータが送信されるかは,HTML 中の form 要素によって指定される。GET メソッドは URI として送信されるため,外部からこれらの値を直接入力されるのを許したい場合に用いるが,字数制限がある。POST メソッドには(理論上)字数制限がない。
これらのデータを扱う CGI 等では,どちらかの方式によって処理の仕方が異なる。
環境変数 REQUEST_METHOD に "POST" または "GET" などの値が入っている。
ただし,GET はフォーム送信ではない通常のページ取得にも用いられるため,ここだけで判別してはいけない。送信データとなるクエリー文字列は環境変数 QUERY_STRING に入るため,同時にこれを確認すること。
さらに,クエリー文字列はフォーム送信のみで用いられるわけではなく,単純に URI としてリンク,ブックマーク,フォームの送信先等に利用されることがある。つまり,POST メソッドの送信先 URI にクエリー文字列を付け併用することも出来る。
まとめると,POST メソッドによるフォーム データかどうかを判別するには REQUEST_METHOD の値が POST かどうかを判別すれば良い。GET メソッドによるフォーム データかどうかを判別するには,REQUEST_METHOD の値が GET でありクエリー文字列が送信されているかどうかを判別すれば良い。
送信ボタンの区別は name 属性で行なえる。
name 属性は別々にする必要がある (区別だけなら value はつけなくてもよい)。