[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 メーリングリストの案内