2010-04-23 3 views
3

Je pense thaAjaxControlToolkitTextBoxWrapperThis utiliser pour travailler, mais je pense que la mise à niveau Té dernière version de Teh Toolkit (4 quelque chose) rompit:ajaxToolkit TextboxWatermarkExtender: Comment changer le texte de Javascript

var txtExpireYear = document.getElementById("ctl00_phPageContent_dtmPassportExpirationDate_txtYear"); 
    txtExpireYear.AjaxControlToolkitTextBoxWrapper.set_Value(dtmDateOfExpire.getFullYear()); 

je maintenant obtenir la erreur:

Microsoft JScript runtime error: 'AjaxControlToolkitTextBoxWrapper' is null or not an object 

exécution ceci:

txtExpireYear.innerText = "valeur1" txtExpireYear.value = "valeur2"

entraîne la modification du texte du filigrane, pas le texte de la zone de texte.

Répondre

2

Essayez ceci:

changement

txtExpireYear.AjaxControlToolkitTextBoxWrapper.set_Value(dtmDateOfExpire.getFullYear()); 

à ceci:

txtExpireYear.TextBoxWrapper.set_Value(dtmDateOfExpire.getFullYear()) 

Si cela ne fonctionne pas, remplacez le contrôle ScriptManager que vous utilisez pour le contrôle de remplacement de ajaxToolkit « ToolkitScriptManager "

3

Le texte de la zone de texte est géré par l'objet de comportement du TextBoxWatermarkExtender.

Pour accéder à cet objet en javascript, spécifiez d'abord un ID pour le comportement:

<asp:TextBox ID="myTextBox" ... /> 
<ajaxtoolkit:TextBoxWatermarkExtender ID="myTextBoxWatermark" BehaviorID="myTextBoxBehavior" TargetControlID="myTextBox" WatermarkText="Enter data here ..." ... /> 

En javascript, trouver cet objet et utiliser la méthode set_text()

$find('myTextBoxBehavior').set_Text('Entered Data'); 

similaires, il y a Méthode get_Text(), pour obtenir la valeur réelle de la zone de texte

+0

qui ressemble déclarative équivalent à ce que je disais l'habitude de travailler dans la version précédente du kit d'outils. – ChadD

0

Si vous souhaitez changer le texte du filigrane lui-même, il existe également une méthode set_WatermarkText().

L'expansion sur l'exemple de Edwin:

$find('myTextBoxBehavior').set_WatermarkText('Entered Data'); 
Questions connexes