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 :

[POO] setAttribute() et IE


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    187
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Par d�faut [POO] setAttribute() et IE
    Bonjour,
    J'ajoute des champs dans un formulaire dynamiquement. J'ajoute sur chaque champ des attributs mais IE ne permet pas d'ajouter n'import lesquels.
    Cet exemple fonctionne tr�s bien avec Safari et FF mais pas avec IE6 et IE7

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
    	<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" />
    	<title>Essai</title>
    	<script type="text/javascript" src="_javascript/utilitaire.js"></script>
    	<script type="text/javascript">
    		function ajouter(){
    			var select = document.createElement("select");
     
                           //-----------------------------------------------------
                           // Ajout d'attribut
                           //-----------------------------------------------------
    			select.setAttribute('onchange','modif();'); //Ne marche pas avec IE
    			select.setAttribute('name','select');// Ne pose pas de problème
                           //-----------------------------------------------------
     
    			var option1 = document.createElement("option");
    			option1.value = "1";
    			option1.innerHTML = "option 1";
    			var option2 = document.createElement("option");
    			option2.value = "2";
    			option2.innerHTML = "option 2";
     
    			select.appendChild(option1);
    			select.appendChild(option2);
    			document.getElementById('formulaire').appendChild(select);
    		}
    		function modif(){
    			alert('modif');
    		}
    	</script>
    </head>
    <body>
    	<?php
                    print_r($_POST);
            ?>
    	<form action="essai2.php" method="post" id="formulaire">
    		<input type="button" name="b1" id="b1" onclick="ajouter();" value="ajouter" />
    		<input type="submit" name="b2" id= "b2" value="submit" />
    	</form>
    </body>
    </html>
    L'attribut 'name' a bien �t� ajouter puisqu'une soumission du formulaire affiche bien [select] => n.
    Mais l'attribut onchange n'a pas �t� ajout� (la fonction modif() n'est jamais appel�e).
    J'ai aussi essay� avec select.onchange = 'select' mais �a ne marche pas non plus.
    Des id�es?

  2. #2
    Membre chevronn�
    Inscrit en
    Novembre 2006
    Messages
    336
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par d�faut
    Salut,

    Je pense qu'il faut que tu s�pares ton code applicatif (donc la fonction appel�e sur le onclick) du reste du code.

    La syntaxe que utilise ne fonctionnera pas, il faut faire


  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
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    select.onclick = function(){modif();}
    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 chevronn�
    Inscrit en
    Novembre 2006
    Messages
    336
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    select.onclick = function(){modif();}
    Javascript �tant un language relativement intelligent, les fonctions sont des objets, donc on peut y faire r�ference

  5. #5
    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
    Je m'attendais � cette r�action de ta part

    en l'occurence modif est en effet un objet fonction, et javascript est tout � fait capable de le reconnaitre comme tel.
    Je pr�f�re toutefois ma syntaxe car elle est g�n�rique et permet d'attribuer aux �v�nements des fonctions anonymes.
    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 !

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    187
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Par d�faut
    J'ai donc utilis�
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    select.onchange = function(){modif();}
    et �a fonctionne avec tous les navigateurs.
    Merci beacoup pour vos multiples r�ponses et votre efficacit�.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [POO] C'est quoi une classe en claire...???
    Par Spack dans le forum Langages de programmation
    R�ponses: 5
    Dernier message: 26/01/2009, 15h53
  2. [POO] stocker un objet avec setAttribute
    Par maxine dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 29/05/2008, 09h13
  3. [langage] Pb POO perl
    Par loothoof dans le forum Langage
    R�ponses: 4
    Dernier message: 26/05/2004, 12h08
  4. [D�butante][jsp] request.setAttribute()
    Par phoebe dans le forum Servlets/JSP
    R�ponses: 4
    Dernier message: 14/05/2004, 14h27
  5. lier un cube � un objet (POO)
    Par Hypnos dans le forum OpenGL
    R�ponses: 12
    Dernier message: 26/08/2003, 21h46

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