酒日記

2002 03 06

Wed, 06 Mar 2002

モルツ (5% × 1000 ml)

EZweb の理不尽な XHTML -> HDML 変換規則に悩まされながら徹夜仕事。

ez の旧機種は XHTML を解さないのだが、ゲートウェイが HDML に変換してくれるから旧機種に向けても XHTML で記述してよいですよ、とのこと。(むしろ推奨、と言われてたのだが) しかし、

<input type="radio" name="hoge_id" value="1" />

を HDML に変換したフォームから送信すると、実際にサーバに送信されるのは

hogeM=

となる。なんだそれ? AUの技術サポートに問い合わせると、「_ (アンダースコア) が含まれる name だと、正常に送信されない場合があります」 という、なんでそんな? と思うような回答。

まあしょうがない。一律に _ を - に置換して、実験。 そうすると今度は、 hoge=-id が送信されて来る。・・・なんなんだこれは。

いろいろ実験してみたところをまとめると、

  • type=select, text, textarea では、name に _ や - が入っていても正常に値が送信される。
  • type=hidden, checkbox だと、 name に - が入っていると正常。 _ が入っていると値が送信されない。
  • type=radio だと、name に _ が入っていると値が送信されない。name="hoge_id" だと、hogeM= が送信される。 name に - が入っていると、たとえば name="hoge-id" の場合 hoge=-id が送信される。

なんなんだコレは! それぞれの type ごとに実装した人間が違ってて、それぞれ勝手な解釈であいまいな仕様をコーディングしたのだろうか・・・ そんなんだから J-Phone に○○○(以下自粛)


powered by blosxom