2010年6月17日木曜日

ExtJs-89 formの内コントロールのIDというかなんというか

grindのIDPropertyにあわせて
formのも実装すると'id'っていうnameのコントロールを設置することになるけーすがあり、
サーバサイドで受け取るとき、必然的に

reqid = Request.Form["id"];
こんな実装になる。
これじゃだめだ。


FormPanelのコントロールは未指定だと
ExtJs側でext-XXXX-XXXXという具合に
idを振る(これはコントロールID)



これが取得できちゃう。まぁ、そうだよな。。。


FormPanelはPanelとかとちがってPanelBodyがDIVではなくてFORMタグで実装されていてこのDOM(FORM)を利用する場合 は、from.getForm().submit()で操作します。
つまり、Formタグで送信するのでPanelの中に存在するものだけが送信されます。
って教えてもらいました。。


@kotsutsumiさん、またもや夜分に感謝です。


なのでデータ識別用のIDという名前とコントロール識別用の「ID」が重複する
ということになる。

回避策は。。。仕方なくForm時のサーバサイドの実装だけDBとは別にidってなまえじゃなくて
dataidとかにして別名にするかな。。。

めんどーだなぁ。仕方ないのかなぁ。

1 件のコメント:

Unknown さんのコメント...

Ext JSっぽく
dataIndexとか?w