IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Injecter une valeur dans un champs TextBox avec du Jscript


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Injecter une valeur dans un champs TextBox avec du Jscript
    Bonjour

    J'avais récupérer ici même du code pour faire ce genre de chose, mais là, je sèche sur un point particulier car mon contexte à un poil changé, je suis contrains de tout faire en CodeBehind.

    Je place le code HTML et CodeBehind à la fin du topic, j'ai tout mis pour être clair.

    Le code que je founis affiche deux Textbox, la première dans laquelle on va saisir un code postal, la seconde qui va aficher un ID suite au click dans la liste déroulante qui apparait à la suite du code postal.

    Sur une autre page dans mon site, ça marche bien, mais le Jscript est dans le Code HTML.
    Là, je n'ai pas d'autre choix que de l'injecter à partir du CodeBehind car cela fait partie d'une Sub de création de contrôle dans un formulaire.

    Lorsque je choisi une ville dans la lsite, j'ai une erreur Jscript qui apparait
    'null' a la valeur Null ou n'est pas un objet.
    Je me doute bien qu'il parle de la TextBox que je cherche, mais je ne trouve pas le moyen de lui indiquer où elle est puisqu'elle est créée à la volée.

    Je vous laisse juge de mon code, dans l'espoir que quelqu'un puisse m'aider, car je sèche et l'ennui c'est qu'il pleut aujourd'hui, alors, c'est pas cool.....

    Code HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="test" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Page sans titre</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <ajax:ScriptManager ID="smTest" runat="server"></ajax:ScriptManager>
        <asp:PlaceHolder ID="phGlobal" runat="server"></asp:PlaceHolder>
        </form>
    </body>
    </html>
    CodeBehind
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     
    Partial Class test
    	Inherits System.Web.UI.Page
     
    	Private tblFormulaire As New Table
     
    	Sub CreationTXTListe(ByVal nom As String, ByVal libelle As String, ByVal rfvMsgErr As String, ByVal ServiceMethod As String, ByVal onClientSelectedItem As String, ByVal MinimumPrefixLength As Int16)
    		Dim r As New TableRow
    		Dim c1, c2, c3 As New TableCell
    		Dim l As New Label
    		Dim t, th As New TextBox
    		Dim rfv As New RequiredFieldValidator
     
    		r.ID = "row" & nom
    		c2.ID = "cell" & nom
    		t.ID = "txt" & nom
    		th.ID = "hf" & nom
    		th.CssClass = "invi"
    		l.Text = libelle
    		With rfv
    			.ErrorMessage = rfvMsgErr
    			.ControlToValidate = t.ID
    		End With
     
    		Dim ace As New AjaxControlToolkit.AutoCompleteExtender
    		With ace
    			.ID = "ace" & t.ID
    			.ServiceMethod = ServiceMethod
    			.OnClientItemSelected = onClientSelectedItem
    			.MinimumPrefixLength = MinimumPrefixLength
    			.TargetControlID = t.ID
    			.UseContextKey = True
    			.Enabled = True
    			.ServicePath = "~/ListeDynamique.asmx"
    		End With
    		c3.Controls.Add(th)
    		If rfvMsgErr <> "" Then
    			c3.Controls.Add(rfv)
    		End If
    		c1.Controls.Add(l)
    		c2.Controls.Add(t)
    		c2.Controls.Add(ace)
    		r.Cells.Add(c1)
    		r.Cells.Add(c2)
    		r.Cells.Add(c3)
    		tblFormulaire.Rows.Add(r)
    		Me.Page.ClientScript.RegisterClientScriptBlock(Me.GetType, "monScript", "<script type='text/javascript'> var " & onClientSelectedItem & " = function(sender, e){		$get('<%=CType(phGlobal.FindControl(""tblFormulaire"").FindControl(""row" & nom & """).FindControl(""cell" & nom & """).FindControl(""hf" & nom & """), TextBox).ClientID%>').value = e.get_value(); }</script>")
    	End Sub
     
    	Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
    		CreationTXTListe("ville", "Ville au choix : ", "faut en donner une", "GetVilleCodePostal", "tbCity_ClientItemSelected", 5)
    		phGlobal.Controls.Add(tblFormulaire)
    	End Sub
    End Class

  2. #2
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ben alors, ça sèche ?
    J'ai vraiment le chic pour trouver des soucis que personne ne connait......

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2003
    Messages : 353
    Par défaut
    Salut Zoofy,
    et si à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.Page.ClientScript.RegisterClientScriptBlock
    tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.Page.ClientScript.RegisterStartupScript
    C'est peut être du au javascript qui est interprété alors que la page n'a pas fini d'être chargée et la fonction que je viens de te donner enregistre ton script à la fin de la page.

  4. #4
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide.
    J'étais justement en trian de me dire un truc dans ce genre là : le fameux cycle de vie de la page.
    Mais je viens de placer ce que tu m'as donné et nada, toujours le même résultat.

    J'avoue être complètement paumé car je n'ai même pas le moyen de comprendre d'où peut venir cette erreur.

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2003
    Messages : 353
    Par défaut
    Pour les problème lié à du Javascript, je te conseille d'utiliser Firebug avec Firefox.
    C'est excellent, tu peux faire du débogage dans le javascript faire du pas a pas et pleins de choses encore.
    Il faut un peu le prendre en main, mais depuis que j'utilise le débogage du javascript est beaucoup plus simple.

    (utiliser un framework JS avec les webservices est un vrai bonheur)

  6. #6
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ouais, certainement. Mais je dois avouer que là, c'est pas tout à fait l'objet, faut que je rende ça pour ce soir.......

    Mais surtout, le truc que je capte pas, c'est que lorsque je mets la même chose dans le code HTML, ça marche Nickel Chrome. C'est depuis que je fabrique tout à la volée, que ça marche plus.

  7. #7
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Citation Envoyé par Promesses Voir le message
    Pour les problème lié à du Javascript, je te conseille d'utiliser Firebug avec Firefox.
    C'est excellent, tu peux faire du débogage dans le javascript faire du pas a pas et pleins de choses encore.
    Il faut un peu le prendre en main, mais depuis que j'utilise le débogage du javascript est beaucoup plus simple.

    (utiliser un framework JS avec les webservices est un vrai bonheur)
    Visual Studio 2008 avec Visual Studio 2008 c'est bien aussi

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/03/2014, 03h34
  2. Réponses: 0
    Dernier message: 14/05/2009, 12h38
  3. Ecrire une valeur dans un champ avec du code
    Par guintolli dans le forum SharePoint
    Réponses: 1
    Dernier message: 18/07/2008, 10h52
  4. Renvoi d'une valeur dans un champ avec un style
    Par m@thieu dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/11/2005, 18h09
  5. Conserver une valeur dans un champs
    Par zakfa dans le forum IHM
    Réponses: 5
    Dernier message: 04/10/2004, 08h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo