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 :

Par quoi remplacer insertAdjacentHTML pour FF


Sujet :

JavaScript

  1. #1
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut Par quoi remplacer insertAdjacentHTML pour FF
    Bonjour,

    J'ai ce petit script qui fonctionne très bien sous IE, mais pas sous FF

    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
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    	<head>
    		<meta http-equiv="content-type" content="text/html;charset=utf-8" />
    		<title>Page sans titre</title>
    		<script type="text/javascript" language="JavaScript">
    			var nlignes = 1;
    			function Ajouter()
    			{
    				nlignes++;
    				saisies.insertAdjacentHTML('BeforeEnd','<BR>Produit '+nlignes+' <input type=text size=4 name=P'+nlignes+'> Quantité '+nlignes+' <input type=text name=QT'+nlignes+'>');
    			};
    		</script>
    	</head>
     
    	<body>
    		<form name="formulaire" method="post" action="page.ext">
    			<input type=Button value="Ajouter une ligne" onclick="Ajouter()">
    			<br>
    			<div id="saisies"> Produit 1 
    				<input type="text" size="4" name="P1"> Quantité 1 
    				<input type="text" name="QT1">
    			</div>
    		</form>
    	</body>
     
    </html>
    L'erreur qui met données est :
    saisies is not defined
    Il semble aussi que "insertAdjacentHTML" ne fonctionnerait pas sous FF.

    J'ai remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    saisies.insertAdjacentHTML
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("saisies").insertAdjacentHTML
    Je n'ai donc plus l'erreur sur "saisies", mais il me dit et c'est normal que "document.getElementById("saisies").insertAdjacentHTML" n'est pas une fonction. Ce problème ne se pose que sur FF par sur IE qui fonctionne toujour très bien.

    Par quoi remplacer "insertAdjacentHTML" ?

    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 130
    Points : 127
    Points
    127
    Par défaut
    Salut.

    Si j'ai bien vu (je ne connais pas cette fonction), tu veux insérer un élément dans une page.

    Le DOM est le meilleur moyen de faire ça, et ça marche sur tous les navigateurs "modernes".

    Renseignes-toi sur les fonctions: createElement, insertBefore, firstChild, lastChild, nextSibling.

    Par exemple ici

    @+

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1

  4. #4
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Oui c'est exactement ce que je veux faire et le fait que cela fontionne ainsi sous ie m'a troublé.

    Merci pour le lien, je creuse cela tout de suite

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Ha oki, des elements et pas uniquement du texte ...

    Donc +1000
    createElement AppendChild insertBefore cloneNode etc ...

  6. #6
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Citation Envoyé par SpaceFrog
    Ha oki, des elements et pas uniquement du texte ...

    Donc +1000
    createElement AppendChild insertBefore cloneNode etc ...
    Je ne comprends pas le +1000

    Donc cela donnerai quelque chose de ce genre là :
    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
    <script type="text/javascript">
    var nlignes = 1;
    function ajouterLigne ()
    {
    	// Définition des variables a placer
    	var produit = document.getElementById('produit').value;
    	var quantite = document.getElementById('quantite').value;
    	// Appel du script de mise à jour de la base de données
    	xmlhttp.open('GET', '../ajax/ajaxAjouterLigne.php?param1='+produit'&param2='+quantite,false);
    	// Affichage sur le formulaire de la ligne ajoutée
    	nlignes++;
    	ligne = document.createElement ('tr');
    	cell = document.createElement ('td');
    	texte = document.createTextNode (produit);
    	cell.appendChild (texte);
    	ligne.appendChild(cell);
    	cell = document.createElement ('td');
    	texte = document.createTextNode (quantite);
    	cell.appendChild (texte);
    	ligne.appendChild(cell);
    	document.getElementById ('tableau').appendChild (ligne);
    }
    </script>
    </head>
    <body>
    <table id="tableau">
    <tr>
    	<td align="center">Produit</td>
    	<td align="center">Quantité</td>
    </tr>
    </table>
    	<input id="produit" type=text size=4 name="produit"> 
    	<input id="quantite" type=text size=3 name="quantite">
    	<a href="#" onclick="ajouterLigne();">Valider"</a>
    </body>
    </head>
    J'utilise "xmlhttp.open" pour appeler le script de mise à jour de la base.

  7. #7
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    +1000 => je plussoie l'avis de jojosbiz ...

  8. #8
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Citation Envoyé par SpaceFrog
    +1000 => je plussoie l'avis de jojosbiz ...
    J'ai suivi son avis et cela prend forme.

    Merci

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

Discussions similaires

  1. par quoi remplacer les frames
    Par Stéph utilisateur d'acces dans le forum Débuter
    Réponses: 11
    Dernier message: 15/07/2008, 13h40
  2. par quoi remplacer DTS2000
    Par nutix2003 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/11/2006, 15h47
  3. Réponses: 1
    Dernier message: 05/06/2006, 17h27
  4. Par quoi remplacer le mot Démarrer?
    Par sourivore dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 08/03/2006, 14h08
  5. Réponses: 2
    Dernier message: 16/01/2006, 22h59

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