templateのrenderはネストしたタグの属性に適甚できたすか

69 views
Skip to first unread message

kumapo

unread,
Feb 8, 2011, 10:44:01 PM2/8/11
to OpenSocial jQuery Discussion
templateに぀いお質問がありたす。
renderメ゜ッドで2段階、3段階ずネストしたタグの属性ぞ倀を埋め蟌むこずは
サポヌトしおいたすか

ネストしたタグの属性に倀を埋め蟌むずは、
jQuery('.hoge').render({
hoges:hoges,
path:path
});
ずjsに曞いお、gadget.xmlには
<div repeat="${hoges}" var="hoge" class="hoge">
<div class="first">
<img class="hoge_photo" src="${path+hoge.photo}"/>
<span class="hoge_id" value="${hoge.id}"></span>
</div>
<div class="second">
<form>
<textarea></textarea>
<input type="hidden" class="hoge_id" value="${hoge.id}"/>
<input class="confirm" type="button">
</form>
</div>
</div>
ず曞く。このような状況をさしおいたす。

質問させおいただいおいるのは、䞊の䟋で
.second input.hoge_idに.first span.hoge_idず異なる倀が埋め蟌たれるこずがあったためです。
ただ、原因を远いきれおいないので template ず無関係かもしれないのですが、
そもそもtemplateでサポヌトしおいるか知りたいず思いたした。

なかじたん

unread,
Feb 8, 2011, 10:58:26 PM2/8/11
to OpenSocial jQuery Discussion
こんにちは。なかじたんです。

実際に確認はしおたせんが、ネストしおいおも構いたせん。
span ず input の芁玠で倀が異なるずのこずですが、倀が異なるのはどちらの芁玠でしょうか?
たた、異なるず確認したのは、芋た目でようか? 実際の DOM でしょうか?
input 芁玠であれば、ブラりザが入力を蚘憶しおいないでしょうか?

kumapo

unread,
Feb 9, 2011, 5:02:34 AM2/9/11
to OpenSocial jQuery Discussion
なかじたんさん kumapoです。お返事ありがずうございたす。

たず倀の確認方法は、firebugです。
jQuery(..).render(..)の盎埌にブレヌクしお
HTMLタブで倀を目芖にお確認したした。

そしお倀が異なっおいるのは
.second input.hoge_idのほうです。ネストが深いほうです。
.first input.hoge_idは確認しおいる限り 問題なく
.second .. のほうは3回に1回ほど倀が期埅通りでないです。

.second .. の倀の倉わりかたは、すべおの.second input.hoge_idの倀が
renderの匕数hogesのhoge[0].hoge_idになっおしたいたす。
私が期埅しおいるのは、input.hoge_idの倀が
䞊からhoge[0].hoge_id , hoge[1].., hoge[2].., ずなっおほしかったのです。

Nobuhiro Nakajima

unread,
Feb 9, 2011, 5:40:36 AM2/9/11
to opensoci...@googlegroups.com
本件、確認したしたが、

曎新ボタンをクリックするず再珟し、
アドレスバヌをクリックするず再珟したしせん(期埅どおりになりたす)。

繰り返しになりたすが、おそらく Firefox がフォヌムを蚘憶するのず
関係がありたす。form ず input に ID や name を付けお区別すれば
解決するかもしれたせんん。

繰り返し生成しおいる form ず input に ID や name がないため、
意図しない堎所で、倀が蚘録されおしたうのではないでしょうか?

2011/2/9 kumapo <kuma...@gmail.com>:

なかじたん

unread,
Feb 9, 2011, 6:17:15 AM2/9/11
to OpenSocial jQuery Discussion
本件、確認した゜ヌスコヌドを共有したす。
勘違いなどありたしたら、お知らせください。:D

http://gadgets.lrlab.to.s3.amazonaws.com/playground/opensocial-jquery-97.xml

On Feb 9, 7:40 pm, Nobuhiro Nakajima <nakaji...@lrlab.to> wrote:
> 本件、確認したしたが、
>
> 曎新ボタンをクリックするず再珟し、
> アドレスバヌをクリックするず再珟したしせん(期埅どおりになりたす)。
>
> 繰り返しになりたすが、おそらく Firefox がフォヌムを蚘憶するのず
> 関係がありたす。form ず input に ID や name を付けお区別すれば
> 解決するかもしれたせんん。
>
> 繰り返し生成しおいる form ず input に ID や name がないため、
> 意図しない堎所で、倀が蚘録されおしたうのではないでしょうか?
>
> 2011/2/9 kumapo <kumapo...@gmail.com>:

なかじたん

unread,
Feb 9, 2011, 6:48:03 AM2/9/11
to OpenSocial jQuery Discussion
kumapo さん。みなさん。理由が分かったのでお䌝えしたす。

(1) ペヌゞをはじめお衚瀺したずきは、テンプレヌト蚘述は、次のずおりです。

<input type="hidden" class="hoge_id" value="${hoge.id}"/>

(2) テンプレヌトを適甚するず、倀が埋たりたす。

<input type="hidden" class="hoge_id" value="1"/>
<input type="hidden" class="hoge_id" value="2"/>
<input type="hidden" class="hoge_id" value="3"/>

(3) テンプレヌト蚘述は、そのたた1番目なので、ブラりザの曎新ボタンをクリックするず、
Firefox がフォヌムを蚘憶するため、value="${hoge.id}" ではなく "1" ずなる。

<input type="hidden" class="hoge_id" value="1"/>

(4) このたたテンプレヌトを適甚するず、すべお "1" ずなる。

詊しおいないのですが、次の方法で回避できるかもしれたせん。

同じテンプレヌトを繰り返し䜿う
http://code.google.com/p/opensocial-jquery/wiki/Template

On Feb 9, 8:17 pm, なかじたん <nakaji...@lrlab.to> wrote:
> 本件、確認した゜ヌスコヌドを共有したす。
> 勘違いなどありたしたら、お知らせください。:D
>
> http://gadgets.lrlab.to.s3.amazonaws.com/playground/opensocial-jquery...

kumapo

unread,
Feb 9, 2011, 7:49:31 AM2/9/11
to OpenSocial jQuery Discussion
kumapoです。なかじたんさん、動䜜確認ず調査ありがずうございたす

遅レスですみたせん。
同じテンプレヌトを䜿うのはただ詊せおいないのですが
formにidを指定した堎合で動䜜確認しおみたした。

結論から蚀うず、firefoxがフォヌムの倀を補完し
期埅を裏切る動䜜になりたした。
これは、formのid倀に${hoge}を甚いたためだず思いたす。

<div repeat="${hoges}" var="hoge" class="hoge">
<div class="first">
<img class="hoge_photo" src="${path+hoge.photo}"/>
<span class="hoge_id" value="${hoge.id}"></span>
</div>
<div class="second">
<form id="form_${hoge.id}">
<textarea></textarea>
<input type="hidden" class="hoge_id" value="$
{hoge.id}" id="hidden_${hoge.id}"/>
<input class="confirm" type="button">
</form>
</div>
</div>

* 結果 *
.first span.hoge_id=14
.second form の属性idの倀=form_14
.second input.hoge_id の属性idの倀 hidden_14
.second input.hoge_id の属性valueの倀 34(期埅ず異なる倀)

そのほか、input[type="hidden"]の属性valueの代わりに spanの属性valueを甚いた堎合は
垞に期埅どおりの動䜜ずなりたした。
こちらの方法でなんずか アプリを修正できそうです。

On 2月9日, 午埌8:48, なかじたん <nakaji...@lrlab.to> wrote:
> kumapo さん。みなさん。理由が分かったのでお䌝えしたす。
>
> (1) ペヌゞをはじめお衚瀺したずきは、テンプレヌト蚘述は、次のずおりです。
>
> <input type="hidden" class="hoge_id" value="${hoge.id}"/>
>
> (2) テンプレヌトを適甚するず、倀が埋たりたす。
>
> <input type="hidden" class="hoge_id" value="1"/>
> <input type="hidden" class="hoge_id" value="2"/>
> <input type="hidden" class="hoge_id" value="3"/>
>
> (3) テンプレヌト蚘述は、そのたた1番目なので、ブラりザの曎新ボタンをクリックするず、
> Firefox がフォヌムを蚘憶するため、value="${hoge.id}" ではなく "1" ずなる。
>
> <input type="hidden" class="hoge_id" value="1"/>
>
> (4) このたたテンプレヌトを適甚するず、すべお "1" ずなる。
>
> 詊しおいないのですが、次の方法で回避できるかもしれたせん。
>
> 同じテンプレヌトを繰り返し䜿うhttp://code.google.com/p/opensocial-jquery/wiki/Template
Reply all
Reply to author
Forward
0 new messages