Dans une application ASP.Net que j'ai, il y a une zone de texte qui reçoit une date à partir d'un fichier CalendarExtender
. Lorsque la zone de texte est remplie, il vérifie cette date avec une autre date du formulaire et affiche un message d'avertissement. modalpopupextender
popup si les dates sont erronées. Cependant, je ne veux PAS permettre à l'utilisateur d'entrer dans cette zone de texte. ReadOnly
à false et essayé Enabled
à false, il ne permet pas l'entrée manuelle, mais il désactive AUSSI le postback et n'appelle pas la fonction TextChanged
pour déclencher l'événement modalpopupextender
. Existe-t-il donc un moyen de désactiver la saisie manuelle et de ne pas la régler sur ReadOnly
?
Réponses
Trop de publicités?Ajouter les propriétés suivantes dans la balise de la zone de texte
onkeydown="return false" onpaste="return false"
ex :
<asp:TextBox ID="TillDate_TextBox" runat="server" onkeydown="return false" onpaste="return false"></asp:TextBox>
le premier bloc de propriété tape dans la zone de texte et le second bloc de propriété la colle.
Je ne connais pas les composants exacts que vous utilisez, mais la façon habituelle d'accomplir ce genre de choses est la suivante. Faites en sorte que la sélection de la date sur le calendrier modifie la valeur d'un champ de formulaire caché. Cela empêchera l'utilisateur de modifier directement la valeur. Créez ensuite un autre élément, comme un div ou un span, et utilisez le javascript pour mettre à jour le span/div avec la valeur sélectionnée dans le calendrier.