[Seasar-user:8997] Re: [S2JSF]Aタグ利用時に、onclickが2回描画される。

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 7月 6日 (金) 20:26:57 JST


米林です。

せろさん、報告ありがとうございます。
修正してOKです。

1.1系で出てるm:passthroughのidが書き換わる現象が
1.0系でも発生するか検証していないのですが
1.0系、1.1系ともに近いうちにリリースする必要が
ありそうです。

よろしくお願いします。

----- Original Message ----- 
From: "Shin Tanimoto" <[E-MAIL ADDRESS DELETED]>
Sent: Friday, July 06, 2007 8:21 PM

> せろです。
>
> S2JSF 1.0.25で、<a>タグに指定したonclick属性が
> デプロイ後のHTML上では2回レンダリングされてしまいます。
>
>
> ■再現方法
> たとえば、こんなリンクを作ると、
> <a m:action="#{addAction.calculate}" onclick="alert('test');">Calculate</a>
>
> こんなボタンになります
> <a href="#"
>
onclick="alert('test');;clear__5Fid77();document.forms['_id77'].elements['_id77:
_link_hidden_'].value='_id77:_id87';if(document.form
>
s['_id77'].onsubmit){document.forms['_id77'].onsubmit();}document.forms['_id77']
.submit();return false;" id="_id77:_id87"
> onclick="alert('test');">Calculate</a>
>
> onclickが最初と最後の2回描画されているのが分かります。
>
> 通常は、大した問題にならないのかも知れませんが、
> 異常系とかクラスブラウザ対応時に、問題になりそうです。
> (ていうか、なんか挙動が安定しなくて困ってます (^^; )
>
>
> ■原因
> HtmlCommandLinkRendererで属性をレンダリングする際に、
> (isJavascriptAllowedの時に)
> 独自で作ったonclickを描画した上で、全属性をレンダリングするためでしょう。
>
>
> ■対策
> JsfConstantsに
> ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_STYLE_ONCLICKなど、
> onclickを描画しない属性配列をつくって、isJavascriptAllowedの時には
> この属性をレンダリングすれば良いのかなと思います。
>
>
> 、、、ということで、今晩にでもそのように直しておこうと思いますが、良いですか?
(^^;;
>
> それでは

---
米林 正明
[E-MAIL ADDRESS DELETED]




Seasar-user メーリングリストの案内