2009-08-13 10 views
0

J'ai deux extensions d'accroche de validateur ajax qui sont programmées via VB.net. Je valide une zone de texte mais je veux que la fenêtre apparaisse à côté d'une autre zone de texte. Comment puis-je dire à la popup ajax où apparaître?Est-il possible de positionner ValidatorCalloutExtender dynamiquement?

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; 
    } 
} 

Je sais que ces deux fonctions javascript peuvent être séparées. Mais comment puis-je déplacer la popup autour?

Répondre

0

Vous devrez probablement en contrôler le positionnement via CSS ou javascript. Je ne connais pas de moyen de le faire à travers les propriétés du contrôle serveur.

Here is a forum thread montrant comment repositionner le popup de validateur en utilisant les méthodes set_x et set_y javascript de la légende.

+0

J'ai accepté votre réponse parce que j'ai dû la positionner via CSS – Eric

Questions connexes