2009-08-13 3 views
0

私はVB.net経由でプログラムされた2つのajaxバリデータコールアウトエクステンダを持っています.1つのテキストボックスを検証していますが、別のテキストボックスの隣にポップアップを表示します。どのように表示するには、ajaxポップアップを伝えることができますか?ValidatorCalloutExtenderを動的に配置することは可能ですか?

Dim custval As New CustomValidator 
    custval.ID = "ValidPage" 
    custval.ErrorMessage = "<font color=red>Please Enter a 'To' Date" 
    custval.SetFocusOnError = True 
    custval.ForeColor = Drawing.Color.Red 
    custval.EnableClientScript = True 
    custval.ControlToValidate = cell.Controls(18).ID 
    custval.ClientValidationFunction = "ClientValidate" 
    custval.Display = ValidatorDisplay.None 
    Dim custvalex As New AjaxControlToolkit.ValidatorCalloutExtender 
    custvalex.ID = "VCEcustval" 
    custvalex.TargetControlID = "ValidPage" 
    custvalex.HighlightCssClass = "validatorCalloutHighlight" 
    '--------------------------------------------------------------- 
    Dim custval2 As New CustomValidator 
    custval2.ID = "ValidPage2" 
    custval2.ErrorMessage = "<font color=red>Please Enter a 'From' Date" 
    custval2.SetFocusOnError = True 
    custval2.ForeColor = Drawing.Color.Red 
    custval2.EnableClientScript = True 
    custval2.ControlToValidate = cell.Controls(23).ID 
    custval2.ClientValidationFunction = "ClientValidate2" 
    custval2.Display = ValidatorDisplay.None 

    Dim custvalex2 As New AjaxControlToolkit.ValidatorCalloutExtender 
    custvalex2.ID = "VCEcustval2" 
    custvalex2.TargetControlID = "ValidPage2" 
    custvalex2.HighlightCssClass = "validatorCalloutHighlight" 
    cell.Controls.Add(custval) '27 
    cell.Controls.Add(custvalex2) '28 
    cell.Controls.Add(custval2) '29 
    cell.Controls.Add(custvalex) '30 


function ClientValidate(sender, args) { 
    // Get Both form fields 
    var hid = $get('<%=HiddenField1.ClientID%>'); 
    var hid2 = $get('<%=HiddenField2.ClientID %>'); 
    var hidval = hid.value; 
    var hid2val = hid2.value; 
    var txtdate1 = $get(hidval); 
    var txtdate2 = $get(hid2val); 
    // do you client side check to make sure they have something 
    if (txtdate1.value != '' && txtdate2.value == '') { 
     args.IsValid = false; 
    } 
    else { 
     args.IsValid = true; 
    } 
} 
function ClientValidate2(sender, args) { 
    // Get Both form fields 
    var hid = $get('<%=HiddenField1.ClientID%>'); 
    var hid2 = $get('<%=HiddenField2.ClientID %>'); 
    var hidval = hid.value; 
    var hid2val = hid2.value; 
    var txtdate1 = $get(hidval); 
    var txtdate2 = $get(hid2val); 
    // do you client side check to make sure they have something 
    if (txtdate2.value != '' && txtdate1.value == '') { 
     args.IsValid = false; 
    } 
    else { 
     args.IsValid = true; 
    } 
} 

私はこれらの2つのJavaScript関数を分けることができることを知っています。しかし、どうすればポップアップを動かすことができますか?

答えて

0

おそらくCSSまたはJavaScriptを使用してその位置を制御する必要があります。私は、サーバーコントロールのプロパティを使ってそれを行う方法を知らない。

Here is a forum thread吹き出しのset_xおよびset_y JavaScriptメソッドを使用してバリデータポップアップの位置を変更する方法を示します。

+0

私はCSS経由でそれを配置しなければならなかったので、私はあなたの答えを受け入れました – Eric

関連する問題