jQueryなんかでinputタグに文字列を入力したり取得するとき、
inputタグを特定するためにnameやid属性を利用するのですが、
SharePointではnameやid属性はソースでは「ff1{$Pos}」ってかんじの
短い値なのですが、実際に表示されると
「ctl00$m$g_cafe866b_6e5b_416a_bf46_5bad614998d9$ff11$ctl00$ctl00$TextField」
みたいな感じで長~い文字列になってしまって、あれれ~~って感じになります。
でも、該当の<SharePoint:FormField>タグを<div id="hoge">で囲んで、
<div id="hoge">内の<input>を選択するようにすれば楽勝ですね。
jQueryでいえば $("#hoge input") で見事にinputタグを特定できます。
これを使えば、入力補助機能が簡単に作れたりしそうですね。
これに気が付くのにだいぶかかってしまいましたが・・・
初めは長いid値に$ff11って文字列があるので、これを部分一致で検索すれば~って着手したら、
ff1{$Pos}なら$ff11だけど、ff20{$Pos}の場合$ff20_1になったりと一桁と二桁だと動きが違う。
3ケタの場合は確認してないけど、この方法はだめだなってね。
たぶん<asp:>と<SharePoint:>のidとnameはシステム側で競合を防ぐ処理が動くんだろうね。
0 件のコメント:
コメントを投稿