[Seasar-user:16681] Re: [Teeda]buttonタグの仕様について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2009年 1月 15日 (木) 15:00:23 JST
小林 (koichik) です.
Date: Thu, 15 Jan 2009 11:17:03 +0900
From: "MACHIDA Takuya" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:16676] [Teeda]buttonタグの仕様について
> [質問1]
> 試しにbuttonタグを配置したHTMLを表示し、クリックしてみるとどうも
> ポストバックしているように見受けられます。
> (initialize、prerender両方にログを組み込んでみたところ、prerenderしか呼ばれて
> いなかったことから、このように判断しました)
> これはこういった仕様でしょうか?
Teeda は <button> 要素に対しては何もしません.
<button> 要素の type 属性が "submit" であれば
(当然) フォームがサブミットされ,<form> 要素の
method 属性が "post" であればポストバックと
なります.
# id が 〜Form の <form> 要素は method="post" に
# なります.
> [質問2]
> テンプレートHTMLに
> <button id="doHoge">test</button>
> と記述し、ページクラスに
> public Class<?> doHoge() {
> System.out.println("# doHoge");
> return OtherPage.class;
> }
> としてみましたが、ページクラスのdoHogeメソッドは呼ばれませんでした。
> これはこういった仕様でしょうか?
仕様です.
do〜() メソッドに対応するのは type 属性が
submit, button, image の <input> 要素だけです.
http://teeda.seasar.org/ja/extension_component_reference.html#commandButton
http://teeda.seasar.org/ja/extension/reverse/input.html#サブミットボタン
> [質問3]
> buttonタグの既定の動作としてはサブミットを行わないことから、
> Teedaで何らかの目的がありポストバックしていると思うのですが、
> どのような用途を想定しているものでしょうか?
HTML および XHTML 仕様では <button> 要素の
type 属性の規定値は submit です.
http://www.w3.org/TR/html401/interact/forms.html#h-17.5
# 例によって仕様に従わないブラウザがありますが.
# IE とか IE とか IE とか.
テンプレート XHTML に DTD を指定した場合,
Teeda がテンプレートを読み込む際に省略された
属性には規定値が与えられます (XML の仕様です).
そのため,テンプレートに type 属性を省略した
<button> 要素を記述すると,レンダリング結果には
type="submit" が付加されます.
type="button" の <button> 要素が使いたいなら
属性を明示してください.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内