Focus sur un textbox dans un repeater

cs_rodcobalt22 Messages postés 193 Date d'inscription dimanche 10 février 2002 Statut Membre Dernière intervention 16 février 2016 - 17 juil. 2010 à 15:25
cs_rodcobalt22 Messages postés 193 Date d'inscription dimanche 10 février 2002 Statut Membre Dernière intervention 16 février 2016 - 20 juil. 2010 à 12:26
Bonjour à tous,

Je suis confronté à un problème assez gênant.

J'étale le contexte :

J'ai un repeater dans lequel, j'ai quelques TextBox.

Pour afficher un pop up de sélection je détecte en JS le press du "$".

Voici mon morceau de code

oTxt.Attributes.Add("onKeyPress", "javascript:if(ModalVariable(event.keyCode,this.readOnly" & strParamUrl & ")){setTimeout('__doPostBack(\'" & oTxt.UniqueID & "\',\'\')',0);}")


Le repeater est dans un updatepanel (ajax) qui fonctionne très bien
Comme vous pouvez le voir, je lance un post back afin de lever un événement personalisé.
celui ci gère simplement la récupération d'une variable de session pou affecter les valeurs choisient dans les autre zone texte

 Protected Sub TXT_LIBELLE_TextChanged(ByVal sender As Object, ByVal e As EventArgs)

        Dim txt As TextBox = DirectCast(sender, TextBox)
        Dim oRpItem As RepeaterItem

        oRpItem = DirectCast(txt.Parent, RepeaterItem)

        If Me.Session("SelectVar") IsNot Nothing AndAlso Me.Session("SelectVar").ToString.Length > 0 Then

            If oRpItem IsNot Nothing Then
                txt = DirectCast(oRpItem.FindControl("TXT_Libelle"), TextBox)
                txt.Text = Me.Session("SelectVar").ToString().Split("¤"c)(1)
                txt.ReadOnly = True
                txt.CssClass = "ReadOnly"
                txt.Attributes.Add("onBlur", "javascript:document.getElementById('" & oRpItem.FindControl("TXT_Valeur").ClientID & "').focus();")
                txt = DirectCast(oRpItem.FindControl("TXT_CODE"), TextBox)
                txt.Text = Me.Session("SelectVar").ToString().Split("¤"c)(0)
                txt.ReadOnly = True
                txt.CssClass = "ReadOnly"
                txt.Attributes.Add("onBlur", "javascript:document.getElementById('" & oRpItem.FindControl("TXT_Valeur").ClientID & "').focus();")
                Me.Session("SelectVar") = Nothing

                'Me.ClientScript.RegisterClientScriptBlock(Me.GetType(), "onLoad", "javascript:alert('toto');")

            End If
        Else
            DirectCast(oRpItem.FindControl("TXT_CODE"), TextBox).Text.Replace("$"c, "")
            DirectCast(oRpItem.FindControl("TXT_Libelle"), TextBox).Text.Replace("$"c, "")
        End If


    End Sub


Le truc c'est que je ne parviens pas à donner le focus à une autre zone texte dans mon RepeaterItem. le plus marrant (malgrès avoir recodé les focus tab ou order de tabulation) la touche tabulation me renvoie sur la barre d'adresse magrès tout ce que je peux faire.

J'ai remarqué un truc bizarre, lorsque que je scroll après remplissage des mes deux zones textes. Mon curseur clignotant de la zone texte scroll également.

Je dois avoir un gros problème aidez moi SVP.

RodCobalt22, vous salue bien
Pensez au TAG résolu ! Ainsi les réponses seront plus facile à trouver et les serial Helper iront plus vite
 PS : Pardonnez mes fautes d'orthographe (All

1 réponse

cs_rodcobalt22 Messages postés 193 Date d'inscription dimanche 10 février 2002 Statut Membre Dernière intervention 16 février 2016
20 juil. 2010 à 12:26
Je up pour compléter un peu ma demande d'aide.

Visiblement, même sans la fenêtre modal, j'ai ce problème là.

Malgrès mes tentatives de redonner le focus rien n'y fait. en fait, c'est belle est bien le navigateur qui prend le focus et refuse de le rendre au formulaire.

Peut être y a t-il une piste du coté des triggers du script manageer mais j'avoue que j'ai un peu de mal à comprendre ce qui gène.

A ces Messieurs les kadors du site, j'implore votre soutien

RodCobalt22, vous salue bien
Pensez au TAG résolu ! Ainsi les réponses seront plus facile à trouver et les serial Helper iront plus vite
 PS : Pardonnez mes fautes d'orthographe (All
0
Rejoignez-nous