ボタンを二つ設置して、押されたボタンで処理を振り分けるようにしたかったのですが、なぜかsubmitのvalueだけ送信されない事態に遭遇。
今まで使ってたform用のクラスを流用しているし、原因がわからない。プログラムが出力するフォームのソースをコピペして単純にPOSTされた値を表示するだけのフォームを作成してテストするときちんとsubmitのvalueもPOSTされている…。フレームワークのせいなのか…。でもどのファイルからもPOSTの変数を削るような処理はしていないし、ましてなぜsubmitだけなのか。かなり時間を費やし、やっと原因が判明。外部読み出しのファイルに記述した下記のJavasciptでした。
$('form input[type=submit]').click( function () { $(this).attr( 'disabled', 'disabled' ); });
重い処理が発生するフォームがあったので、二重送信しないようにコードをいれていたのを忘れていました。
submitは押したもののデータだけが送信されますが、jQueryでclickしたときにdisabled属性をつけた場合でも送信されないんですね…。押した後にdisableになるだろうから問題ないとスルーしていましたが違うようです。