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 :

Erreur*: document.getElementById("mavariable") has no properties


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Par défaut Erreur*: document.getElementById("mavariable") has no properties
    Bonjour;

    J'ai modifier un script bien connu
    images defilante avec effet (sous IE ) (edj)

    Mais j'ai rajouté les texte deffilants associés aux images

    Je vous met le script (il est pas trop long)
    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    <SCRIPT LANGUAGE="JavaScript">
    PortImg = new Array;
    SiClickGoTo = new Array;
    PortLink = new Array;
    PortTxtLink = new Array;
    PortTxt = new Array;
    if (document.images)
    	{
    <?php
    connexion();
    $repertoire='images/portfolio/';
    $i=0;
    $sql = "select * from bd_portfolio order by port_id desc LIMIT 3" ;
    $query = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
     while ($data = mysql_fetch_array($query)) { 
     
    	echo "i".$i." = new Image;\n";
    	echo "i".$i.".src = '".$repertoire.$data['port_img']."';\n";
    	echo "SiClickGoTo[".$i."] = \"portfolio.php\"\n";
    	echo "PortImg[".$i."] = i".$i.".src;\n";
    	echo "PortLink[".$i."] = '".$data['port_link']."'\n";
    	echo "PortTxtLink[".$i."] = '".$data['port_txt_link']."'\n";
    	echo "PortTxt[".$i."] = '".str_replace("\r", " ", str_replace("\n", "", str_replace("<br />", "", $data['port_txt'])))."'\n";
    	$i++;
        }
    	 deconnexion();
    	?>
     
    	}
     
    a = 0;
    //----------------- 1ere miniature
    function ejs_img_fx(img)
    	{
    	if(img && img.filters && img.filters[0])
    		{
    		img.filters[0].apply();
    		img.filters[0].play();
    		}
    	}
     
    function StartAnim()
    	{
    	if (document.images)
    		{
    document.write('<a href="#" onClick="ImgDest();return(false)"><img src="<? echo $repertoire.$data['port_img']; ?>" NAME=defil style="filter:progid:DXImageTransform.Microsoft.Pixelate(MaxSquare=100,Duration=1);BORDER: #c0c0c0 1px solid;"></a><a href="PortLink"><p id="PortTxtLink"></a></p><p id="PortTxt"></p>');    
    defilimg()
    		}
    	else
    		{
    		document.write('<src="<? echo $repertoire.$data['port_img']; ?>" BORDER=0>')
    		}
    	}
    function ImgDest()
    	{
    	document.location.href = SiClickGoTo[a-1];
    	}
    function defilimg()
    	{
    	if (a == 2)
    		{
    		a = 0;
    		}
     
    	if (document.images)
    		{
    		ejs_img_fx(document.defil)
    		document.defil.src = PortImg[a];
     
    		document.getElementById('PortLink').innerHTML =PortLink[a]; 
    		document.getElementById('PortTxt_Link').innerHTML =PortTxtLink[a]; 
    		document.getElementById('PortTxt').innerHTML =PortTxt[a]; 
     
    		tempo3 = setTimeout("defilimg()",7000);
     
    		a++;
    		}
    	}
     
    	//----------------
     
    </script>
    Mais comme la vie n'est pas toujour bien faite
    j'ai un bleme
    la console javascript de FireFox me dit :
    Erreur*: document.getElementById("PortLink") has no properties

    j'avais deja fait cette modif sur un autre site et ça marchait
    Mais la je vois pas mon erreur ....

  2. #2
    Membre éclairé Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Par défaut
    je pense que l'on ne peux pas attribuer document.getElementById("PortLink") a un <a href>

    sinon je sais pas faire

    une idée ??

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Soit tu as un souci d'instanciation, au moment ou tu fais l'appel à lobjet, il n'a pas encore été créé dans le flux de la page ...
    soit tu as un soucis de casse dasn l'id (ou d'orthographe)
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Par défaut
    Pour que cela fonctionne, il faut que tu ais un élément html qui porte l'id "PortLink" (la casse est importante). Si ce n'est pas le cas, il ne trouvera rien en naviguant dans le DOM.

  5. #5
    Membre éclairé Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Par défaut
    A ce que j'ai pu comprendre
    l'orthographe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.write('<a href="PortLink">mon lien</A>');
    n'est pas possible

    il dois exister une autre solution
    mais j'aipas encore trouvé

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    il faut non seulement que l'objet avec le bon id soit dasn le html mais il faut aussi qu'il soit instancié au moment ou tu va l'appeler dasn le script ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Par défaut
    Si tu ne souhaites vraiment pas mettre d'id à ta balise a, tu peux toujours la rechercher avec un getElementByTagName et tester le lien de cet ancre, mais ça devient tordu.

  8. #8
    Membre éclairé Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Par défaut
    je crois qu'il est bien instancié au moment de l'appel dasn le script.

    mais le soucis c'est comment l'appeller dans mon html

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Par défaut
    Peux-tu nous envoyer le code html généré (sans le code php), ça simplifiera la compréhension du problème javascript.

Discussions similaires

  1. Erreur : document.getElementById('image').src is NULL
    Par CKLOL dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/05/2009, 10h56
  2. Réponses: 2
    Dernier message: 07/01/2007, 12h22

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