J'ai une zone de texte dans le ItemTemplate d'un Gridview. L'événement _RowDataBound ajouter un attribut à la zone de texte comme ceci:Impossible d'activer la fonction Javascript à partir d'une zone de texte dans une vue en grille
TextBox txtQuantity = (TextBox)e.Row.FindControl("txtQuantity");
txtQuantity.Attributes.Add("onkeypress", "CheckInputForNumeric(event)");
Et simplement ne se déclenchera pas une fonction JS.
J'ai essayé de faire onClick, onBlur, onKeyPress ... j'ai même essayé de changer le cas pour: onclick, onblur, onkeypress ... rien ne semble pouvoir déclencher ma fonction JS.
ailleurs sur la même page que j'ai:
txtAddMarkup.Attributes.Add("onkeypress", "CheckInputForNumeric(event)");
(qui TextBox est pas dans un gridview) et cela fonctionne très bien.
Je suis totalement bloqué et frustré à ce stade car il semble peu importe ce que je fais, je ne peux pas obtenir ce champ de saisie pour tirer une fonction JavaScript
Il ne ressemble pas qu'il passe au nom du contrôle. Pourriez-vous clarifier s'il vous plaît? – JustLoren
quand je regarde la source, je vois ceci pour l'élément de zone de texte:
Ce n'est pas que quelque chose ne va pas avec le HTML, c'est que vous le pointez du nom "txtQuantity" quand il a été renommé "ctl00" $ ContentPlaceHolder1 $ grdJobEquipment $ ctl02 $ txtQuantity ". Donc, il n'y a plus rien sur votre page nommé txtQuantity. :-( – Rap