MESCIUS InputMan for ASP.NET 10.0J > クライアント側スクリプト > コントロールオブジェクトの取得 |
クライアント側でフォームに貼り付けられたコントロールにアクセスするには、コントロールのインスタンスをあらわすオブジェクトを使用します。ここでは、クライアント側でのオブジェクトの取得方法について説明します。コントロールのオブジェクトを取得するには次の3つの方法があります。
InputMan for ASP.NETのコントロールのインスタンスをクライアント側で生成することはできません。 |
イベントハンドラのパラメータ以外のコントロールや、独自の関数内でコントロールのオブジェクトが必要な場合、InputManコントロールのIDから特定のコントロールのオブジェクトを取得する FindIMControl メソッドを利用します。
InputMan for ASP.NETのコントロールでは、document.allやdocument.getElementByIDメソッド等はサポートされておりません。標準コントロールと同様の方法でクライアント側オブジェクトを取得することはできないので、ご注意ください。 |
object FindIMControl(string id);
Webフォーム上に"GcDate1" と "GcDate2" の2つのコントロールがある場合、次のようなコードでオブジェクトを取得することができます。ここでは、GcDate1 のテキストを取得し、GcDate2 に設定しています。
var date1 = FindIMControl("GcDate1"); var date2 = FindIMControl("GcDate2"); date1.SetText(date2.GetText());
クライアント側イベントのすべてのイベントハンドラには、コントロールのオブジェクトを表すパラメータを持っています。例えば、日付コントロールのInvalidInputイベントハンドラを実装した場合、次のようなコードが追加されます。
function GcDate1_InvalidInput(sender, eArgs)
{
//Add code to handle your event here.
}
このイベントのパラメータのsenderは、日付コントロールのインスタンスとなるオブジェクトを表します。したがって、senderを使って日付コントロールのオブジェクトのプロパティやメソッドを呼び出すことができます。
以下の例は不正な入力時にコントロールの前景色を赤に設定します。function GcDate1_InvalidInput(sender, eArgs) { //Add code to handle your event here. sender.SetForeColor("red"); }
ページにjQueryライブラリファイルへのリンクが設定されている場合、jQueryセレクターを使用してクライアント側オブジェクトを取得することができます。詳細については、「jQueryの使用」を参照してください。jQueryセレクターを使用したオブジェクトの取得方法については「オブジェクトの取得」で解説しています。
なお、jQueryセレクターを使用して取得したオブジェクトから使用可能なクライアント側スクリプトメンバは、JavaScriptリファレンスに[jQuery対応]の記載があります。
カレンダーの休日設定やショートカットキー動作、また検証アクションの種類など、コントロールあるいはエクステンダが参照するオブジェクトは、クライアント側でインスタンスを生成することができます。 インスタンスを生成可能なオブジェクトはコンストラクタをサポートします。オブジェクトがコンストラクタをサポートするかどうかはJavaScriptリファレンスを確認してください。
InputMan for ASP.NETを形成するオブジェクトは、すべてGCIM名前空間に定義されているため、インスタンスの生成にはGCIM名前空間の宣言が必要です。 |
次のサンプルコードはカレンダーコントロールに休日を設定する例です。この例では、HolidayオブジェクトとHolidayStyleオブジェクトのインスタンスを生成しています。
var holiday = new GCIM.Holiday("夏休み", 8, 13, 8, 20); var holidayStyle = new GCIM.HolidayStyle('holidayStyle1', true, "pink", "red"); holidayStyle.AddHoliday(holiday); FindIMControl("GcCalendar1").AddHolidayStyle(holidayStyle);
次のサンプルコードはバルーンチップエクステンダにバルーンチップを設定しています。ここでは、BalloonTipInfoオブジェクトのインスタンスを生成しています。
var balloonTip = FindIMControl("GcBalloonTip1"); var balloonTipInfo = new GCIM.BalloonTipInfo('全角文字で入力してください。', '不正入力'); balloonTipInfo.SetBorderColor("blue"); balloonTipInfo.SetBackColor("azure"); balloonTip.AddBalloonTipInfo("textbox1", balloonTipInfo); balloonTip.Show("textbox1");