- PR -

JavaScriptでサーバコントロールのオブジェクトを取得する方法

1
投稿者投稿内容
ちびぐま
常連さん
会議室デビュー日: 2004/09/09
投稿数: 37
お住まい・勤務地: 横浜市
投稿日時: 2004-10-08 14:55
いつもお世話になっております。
VB.NET、ASP.NETを使用しております。
皆さんはJavaScriptでWebサーバコントロールのオブジェクトを取得するときどうしてますか?
サーバコントロールがHTMLに展開されるとサーバコントロールのID名はForm名_ID名というような感じになりますよね。(間違っていたらすいません)
私はJavascriptでサーバコントロールのオブジェクトを取得する場合以下のようにしています。
function getObject_dpTanni_Base() {
for ( i=0; i<document.Form1.elements.length; i++ )
{
if ( document.Form1.elements[i].name.match(/xxxxxx$/) )
break;
}
return document.Form1.elements[i];
}
※ xxxxxxにサーバコントロールのID名を記述する
他にどのような方法があるのでしょうか?
ちびぐま
常連さん
会議室デビュー日: 2004/09/09
投稿数: 37
お住まい・勤務地: 横浜市
投稿日時: 2004-10-08 15:36
自己レスです。
もう少し汎用的にしたものです。
function getObject(objectName) {
matchStr = new RegExp(objectName);
for ( i=0; i<document.Form1.elements.length; i++ )
{
if ( document.Form1.elements[i].name.match(matchStr) )
break;
}
return document.Form1.elements[i];
}
※ objectNameにサーバコントロールID名を書きます。
これくらいしか思い浮かびません。皆さんはどうでしょうか?
Ten.
ベテラン
会議室デビュー日: 2003/04/03
投稿数: 67
投稿日時: 2004-10-12 11:13
私の場合はサーバ側でClientIDプロパティで取得し、その値をクライアント側の変数に格納するスクリプトをスタートアップに登録しています。

クライアント側でのIDはASP.NETが自動生成するものなので、クライアント側で認識しようとするのはなるべく避けたほうがいいと思ったのでこのようなやり方にしています。

現在の名前の付け方が仕様的に保証されているかどうかは分かりませんが、どっちにしても変更されても大丈夫なようにしておけば問題ありませんしね。
(仕様的に保証されていなくても、むやみに変更されるとは思いませんが)
1

スキルアップ/キャリアアップ(JOB@IT)