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

JavaScript Discussion :

[DOM] GetElementByID. Ne trouve pas l'élément


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut [DOM] GetElementByID. Ne trouve pas l'élément
    Bonjour,

    J'ai un problème avec mon GetElementByID.
    Lorsque je l'utilise dans des balises javascript, tout va bien, mais j'aurai besoin de l'utiliser dans du code C#. C'est là qu'il y a un problème.. Il ne trouve pas l'objet.
    J'ai essayé plusieur methodes, Passer l'id du control en parametre, ajoute innerHTML, mais sans succes..
    Si vous avez des idées ! Merci beaucoup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("<script type=\"text/javascript\">document.getElementById('Button1').innerHTML.click();</" + "script>");

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu es sûr que ce que tu veux est récupérer dans la page html générée un élément qui porte l'id 'Button1' ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    Oui oui.
    J'ai teste la version javascript, et elle marche très bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function securit()
    {
    document.getElementById('Button1').click();
    }

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Oooops, j'avais pas vu ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('Button1').innerHTML.click();
    dans ton code C#, enlève le innerHTML et ça devrait aller mieux
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    En fait, j'avais déjà essayé au départ. J'obtiens cette erreur
    : document.getElementByID(...) is null or not an object

  6. #6
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    fait voir le code de la page et le C# aussi
    ... un flash ... et ça repart

    700R ... catch me if u can

    Best regards,
    .

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    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
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <script runat=server>
        protected void Button2_Click(object sender, EventArgs e)
        {
            Response.Write("<script type=\"text/javascript\">document.getElementById('" + Button1.UniqueID + "').click();</" + "script>");
        }
        </script>
    <SCRIPT type="text/javascript">
    <!--
    function securit()
    {
    if(confirm('Voulez-vous visiter le site du laboratoire Archéologie et Territoire ?'))
        document.location.href='http://www.univ-tours.fr/lat';
    document.getElementById('Button1').click();
    }
    -->
    </SCRIPT>
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:ListBox ID="lbxTransportation" runat="server"></asp:ListBox>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button2" runat="server" Text="Button" 
            onclick="Button2_Click" />
        <a href="javascript:securit()">Click me</a>
        <asp:Button ID="Button1" runat="server" Text="Button" 
            OnClientClick="return confirm('Are you sure?')" onclick="btnOK_Click" />
     
                Name: <asp:Textbox id="txtName" runat="server"/>
        <asp:Label id="Message" runat="server" />
     
        </form>
    </body>
    </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
    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using Utilities;
     
    public partial class Default2 : System.Web.UI.Page
    {
        protected int i;
        protected void Page_Load(object sender, EventArgs e)
        {
            LiteralControl li=new LiteralControl();
     
            li.Text=("<script language=javascript>var errorText = " +
                "document.getElementById('" + Button1.UniqueID + "');alert(errorText);</script>");
     
            Page.Controls.Add(li);
     
            //System.Data.OracleClient.OracleConnection conn = Tool.connect("");
            //System.Data.OracleClient.OracleDataReader reader = Tool.executeQuery("Select * from Contract", conn);
            //reader.Read();
            //Response.Write(reader.GetOracleNumber(0));
            //Tool.deconnect(conn);
     
            //Button1.Attributes.Add("onclick", "javascript:if(confirm('Are you sure everything is correct?(" + txtName.Text + ")')== true) return true;");
        }
     
        protected void btnOK_Click(object sender, EventArgs e)
        {
            //Message.Text = "You entered your name as: " + txtName.Text;
            Response.Write("<script>alert(\'OK\');</" + "script>");
        }
     
     
        protected void submit_click(object sender, EventArgs e)
        {
            System.Data.OracleClient.OracleConnection conn = Tool.connect("");
     
            for (i = 0; i < lbxTransportation.Items.Count; i++)
            {
                if (Tool.executeQuery("Select transportationdesignation from transportation where transportationdesignation = '" +
                                        lbxTransportation.Items[i].Text + "'", conn).Read() != false)
                {
                    if (lbxTransportation.Items[i].Selected == false)
                    {
                        Tool.executeNoQuery("DELETE FROM TRANSPORT WHERE TRANSPORTATIONIDTRANSPORTATION = '" +
                                        lbxTransportation.Items[i].Value + "' AND EMPLOYEE_TRIGRAM = 'DABO'", conn);
                    }
                }
                else if (lbxTransportation.Items[i].Selected)
                {
                    Tool.executeNoQuery("INSERT INTO TRANSPORT(TRANSPORTATIONIDTRANSPORTATION, EMPLOYEE_TRIGRAM) VALUES ('" +
                                    lbxTransportation.Items[i].Value + "','DABO')", conn);
                }
     
            }
            Tool.deconnect(conn);
        }
     
    }

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Peut-être que ton script (qui n'est pas dans une fonction contrairement à celui qui marche) appelle ton élément avant que celui-ci ne soit créé dans le dom...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    Peut etre. J'ai déjà lu ça sur un forum. La solution était de créer un literalControl.
    J'ai testé mais cela ne marche pas non plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    protected void Page_Load(object sender, EventArgs e)
    {
            LiteralControl li=new LiteralControl();
     
            li.Text=("<script language=javascript>var errorText = " +
                "document.getElementById('" + Button1.UniqueID + "');alert(errorText);</script>");
     
            Page.Controls.Add(li);
    }

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Non, c'est pas ce que je veux dire.
    Ta page C# va générer une page html qui contient du javascript, quand cette page html est chargée dans ton navigateur, le javascript sera exécuté à l'endroit où tu l'as mis, donc si tu as par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script type="text/javascript">document.getElementById('uneDiv')</script>
    <div id="uneDiv"></div>
    ton javascript te renverras une erreur car au moment où il est exécuté, la div 'uneDiv' n'existe pas encore dans le document.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    Oui, j'avais bien compris ca. Et logiquement, avec le code que j'ai posté, cela devrait mettre le litteralControl en bas de page et donc executer le code javascript en dernier.. Mais chez moi, cela ne marche pas.
    Tu aurais une idée de comment faire sinon ?

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ton alert t'affiche quelque chose ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    Oui, il m'affiche [object]

  14. #14
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Et :
    ça donne quoi ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  15. #15
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    Button..
    Donc ca a l'air de marcher !
    Mais comment me servir de getelementbyID dans une fonction maintenant ?

  16. #16
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Je suis pas trop sûr de bien comprendre ta question, mais dans la fonction, getElementById récupère l'élément en question dont tu peux faire ce que tu veux...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  17. #17
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2007
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 375
    Points : 154
    Points
    154
    Par défaut
    C'est bon, parfait.

    Merci beaucoup Bovino.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    LiteralControl li = new LiteralControl();
     
            li.Text = ("<script language=javascript>var btn = " +
                "document.getElementById('" + Button1.UniqueID + "');btn.click();</script>");
     
            Page.Controls.Add(li);
    Je fais ca dans ma fonction et ca marche très bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. array_key_exists() ne trouve pas l'élément
    Par nico38100 dans le forum Langage
    Réponses: 1
    Dernier message: 20/09/2013, 15h08
  2. getElementsByTagName ne trouve pas mon élément
    Par mikew75 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 02/06/2010, 10h23
  3. [svg+xhtml+javascript+dom+php] L'élément dom créé n'existe pas
    Par Lcf.vs dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/01/2010, 15h08
  4. [SP-2007] getElementById ne trouve pas l'élément
    Par Socki dans le forum SharePoint
    Réponses: 4
    Dernier message: 17/06/2009, 18h28
  5. [Kylix] [cgi] ne trouve pas libsqlmy.so.1 !
    Par Nepomiachty Olivier dans le forum EDI
    Réponses: 3
    Dernier message: 04/07/2002, 15h15

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