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

AJAX Discussion :

[AJAX] Affection variable php via ajax


Sujet :

AJAX

  1. #21
    Invité
    Invité(e)
    Par défaut
    Merci pour le complément d'information

    Il me reste deux petits soucis :

    1. en fait le formulaire que je veux envoyer est composé de de trois tableau, mais juste le 2ème tableau doit etre affectué par le duplicata, donc dès que j'adapte le code sa ne duplique que mon premier tableau.

    Code html : 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
     
        <body id="body">
            <form method="post" action="monscript.php">
                <table id="tab1">
                     Formulaire sur les personnes
                </table>
                <form>
                       <table id="tab2">
                              Formulaire sur les enfants // formulaire qui va être créer dynamiquement
                       </table>
               </form>
               <table id="tab3">
                     formulaire sur les véhicules
               </table>
            </form>
        </body>

    2. Le second soucis c'est que j'ai un élément de mon tableau qui est de type <img> donc j'ai lu que document.getElementsById() ne marchait pas pour ce genre de tag mais je n'ai trouver aucune parade.
    Dernière modification par Invité ; 28/07/2009 à 08h25.

  2. #22
    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
    Citation Envoyé par jeanjean8501 Voir le message
    2. Le second soucis c'est que j'ai un élément de mon tableau qui est de type <img> donc j'ai lu que document.getElementsById() ne marchait pas pour ce genre de tag mais je n'ai trouver aucune parade.

    T'as lu ça où ???
    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. #23
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par jeanjean8501 Voir le message
    Merci pour le complément d'information

    Il me reste deux petits soucis :

    1. en fait le formulaire que je veux envoyer est composé de de trois tableau, mais juste le 2ème tableau doit etre affectué par le duplicata, donc dès que j'adapte le code sa ne duplique que mon premier tableau.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <form metho="post" action="monfifchier.php">
    <table id="tab1">
    </table>
    <table id="tab2">
    </table>
    <table id="tab3">
    </table>
    </form>

    2. Le second soucis c'est que j'ai un élément de mon tableau qui est de type <img> donc j'ai lu que document.getElementsById() ne marchait pas pour ce genre de tag mais je n'ai trouver aucune parade.

    Je ne comprends pas

    ERE
    Quand une tête pense seule, elle devient folle.

  4. #24
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par Bovino Voir le message

    T'as lu ça où ???
    J'ai lu ça ici = > http://www.webdeveloper.com/forum/sh...d.php?t=119237 dans le 2ème post. Mais j'ai vu aussi après sur developpez.net que c'était possible

    Citation Envoyé par emmanuel.remy Voir le message
    Je ne comprends pas

    ERE
    En faite ce que j'ai voulu montrer, mais j'avoue que je n'ai pas été clair, c'est que j'ai un form global qui me sert pour envoyer les données saisies dans le formulaire à un script php.

    Mais le problème c'est que mon formulaire est divisé en trois partie, une partie sur les renseignements concernant une personne, une autre partie concernant les enfants et une autre partie concernant les véhicules.

    La partie que je souhaite créer dynamiquement est la partie enfant en fonction du nombre d'enfant renseignés dans la partie concernant les personnes.

    Or dans le code que tu ma fournis, il faut mettre le formulaire à créer entre des balises Body et form.

    Sauf que lorsque que je met ces balises, lors de la création dynamique du formulaire enfant, sa ne créé pas le formulaire enfants mais le premier formulaire.

    En espérant avoir été plus clair

    Ps: j'ai éditer le bout de code source que j'avai mis plus haut

  5. #25
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Le code de démo que je t'ai passé montrait comment dupliquer un formulaire. C'est certain que tu dois l'adapter pour qu'il corresponde à tes attentes. Mais le code en lui-même ne change pas c'est juste identifier quel formulaire dupliquer et l'insérer.

    ERE
    Quand une tête pense seule, elle devient folle.

  6. #26
    Invité
    Invité(e)
    Par défaut
    Yes, je m'y attelle

  7. #27
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'ai remarque quelque chose, c'est que lors de la création dynamiques des formulaires, les formulaires enfants avaient un id bizarre.

    J'ai donc décider de modifier leur id via la propriété
    Code ajax : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("Nom_enf").id
    Mais apparament il y a un probleme.

    Ce que je souhaite faire, c'est que mon premier formulaire ait pour id "Nom_enf0" et que les suivant aient "Nom_enf1" etc etc...

    A noter que par défaut le formulaire parent à pour id "Nom_enf"

    J'ai donc mis en place la méthode suivante :

    Code ajax : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function creeFormulaires() 
    {				
    	var nbF = parseInt(document.getElementById("nbF").value); // On récupère le nombre entré
    	var frm = document.forms[0];// On définit un objet frm.
     
    	for (var i=0; i<nbF;i++ ) // On boucle sur le nombre saisie
    	{
     
                  document.getElementById("Nom_enf").id = "Nom_enf".concat(i);
    		var frm2 = frm.cloneNode(true);
    		document.getElementsByTagName("BODY")[0].appendChild(frm2);
    	}
    }

    Ma logique semble donc etre fausse, mais je n'arrive pas a voir pourquoi. Si quelqu'un pouvait m'éclairer !

  8. #28
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    Ce n'est pas très logique... Plutôt:

    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
    function creeFormulaires() 
    {				
    	var nbF = parseInt(document.getElementById("nbF").value); // On récupère le nombre entré
    	var frm = document.forms[0];// On définit un objet frm.
    	
    	for (var i=0; i<nbF;i++ ) // On boucle sur le nombre saisie
    	{
     
                  
    		var frm2 = frm.cloneNode(true);
    		frm2.id = "Nom_enf" + i ;//on peut aussi utiliser la fonction setAttribute, à voir si problème
    		
    		document.getElementsByTagName("BODY")[0].appendChild(frm2);
    	}
    }
    ERE
    Quand une tête pense seule, elle devient folle.

  9. #29
    Invité
    Invité(e)
    Par défaut
    Merci de ta réponse !

    En faite j'utilisai cette technique car par formulaire j'ai 3 <input>

    Nom_enf, Prenom_enf et Dte_Naiss_enf

    Donc dans ma boucle je faisais

    Code ajax : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    document.getElementById("Nom_enf").id = "Nom_enf".concat(i);
    document.getElementById("Prenom_enf").id = "Prenom_enf".concat(i);
    document.getElementById("Dte_Naiss_enf").id = "Dte_Naiss_enf".concat(i);

    Donc du coup j'utilise sa maintenant :

    Code ajax : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    frm2[0].id = "Nom_enf" + i ;//on peut aussi utiliser la fonction setAttribute
    frm2[1].id = "Prenom_enf" + i ;//on peut aussi utiliser la fonction setAttribute
    frm2[2].id = "Dte_Naiss_enf" + i ;//on peut aussi utiliser la fonction setAttribute

    Merci encore une fois pour ton aide

    Plus qu'a intégrer sa au vrai code

  10. #30
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    Salut,

    Le code de démo que je t'ai passé montrait comment dupliquer un formulaire. C'est certain que tu dois l'adapter pour qu'il corresponde à tes attentes. Mais le code en lui-même ne change pas c'est juste identifier quel formulaire dupliquer et l'insérer.

    ERE
    Je n'arrive toujours pas à intégrer le code dans ma page finale.

    En faite jai un formulaire qui envoie les données contenu dans 3 tableaux.

    Si je comprend bien ton code, le code à dupliquer est a mettre entre les balises <body> via la ligne de code
    Code ajax : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName("BODY")[0].appendChild(frm2);

    Sauf que non sa ne marche pas comme sa !

    Si je met le formulaire que je veux dupliquer seulement entre les balises BODY sa ne marche pas ! Sa duplique tout ce qui trouve dans le form

  11. #31
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName("BODY")[0].appendChild(frm2);
    ajoute le formulaire frm2 à l'élément BODY. Mais tu peux l'ajouter où tu veux de la même façon, à toi d'identifier où (vers quel élément parent).

    ERE
    Quand une tête pense seule, elle devient folle.

Discussions similaires

  1. [AJAX] Envoyer un objet php via ajax
    Par silverockets dans le forum AJAX
    Réponses: 11
    Dernier message: 21/03/2011, 09h10
  2. [AJAX] Type données dans php via ajax.
    Par Riko63 dans le forum AJAX
    Réponses: 2
    Dernier message: 08/08/2009, 14h04
  3. [AJAX] Rafraichir variable php avec ajax
    Par sff dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 02/04/2008, 15h01
  4. Réponses: 8
    Dernier message: 08/06/2007, 21h39
  5. [AJAX] Retour AJAX dans variable PHP
    Par mulot49 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/06/2007, 13h00

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