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] select créés non envoyé au serveur


Sujet :

JavaScript

  1. #1
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 115
    Points : 2 075
    Points
    2 075
    Par défaut [DOM] select créés non envoyé au serveur
    Bonjour,

    J'ai un tableau d'une 30aine de colone contenant des balises select.

    Je me suis créé un un bouton qui me permet de dupliquer une ligne. Je l'ai fais avec DOM en javascript avec la fonction cloneNode.

    Puis toujours avec j'ai renomé les attributs name des nouveaux select pour différencier les champs avec la ligne qui a servi de copie. J'ai controlé à l'aide de Firebug, les attributs sont bien renommé.

    Lorsque je submit mon formulaire, les champs nouvellement créé n'apparraissent pas dans print_r($_POST).

    J'ai essayé les 2 méthodes pour changer les attribut name avec :
    - element.name = "jour_1";
    et - element.setAttribute("name", "jour_1" );

    Ou ai je fauté ?

    Est ce que l'on peux reelement creer des elements d'un formulaire coté client avec DOM en javascript pour ensuite pouvoir exploiter les informations coté serveur ?
    J'ai l'impression que non, car ce sont uniquement mes select créé coté client qui ne sont pas envoyés.


    Voici ma fonction lorsque je clique sur mon bouton "Ajout Projet" qui est dans mon tableau :


    //Chaque ligne est reference par un id "ligne" + ligne qui est une variable qui s'incremente à chaque ligne

    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
    function ajoutProjet(ligne)
    {
    	var ligneACopier = document.getElementById("ligne" + ligne);
     
    	var table = ligneACopier.parentNode;
     
    	var ligneClone = ligneACopier.cloneNode(true);
    	table.insertBefore(ligneClone, ligneACopier);
     
     
     
           //Traitement pour mettre à jour les attributs. 	
    	var tousLesSelect = ligneClone.getElementsByTagName ("select");
     
    	//Recuperation du nombre de projet
    	var nbProjet = document.getElementById("nbprojet");
    	var attri;
     
    	//Mise à jour du nombre de projet
    	nbProjet.value=parseInt(nbProjet.value)+1;
     
    	//Mise à jour des attributs name
    	for (var i = 0 ; i < tousLesSelect.length ; i++)
    	{
    		//is_ignorable : hack pour Firefox à cause des espaces
    		if (is_ignorable (tousLesSelect[i]) == false && tousLesSelect[i].hasAttribute("name"))
    		{
    			//attri = tousLesSelect[i].getAttribute("name");
    			attri = tousLesSelect[i].name;
     
    			attri = attri.substring(0,attri.lastIndexOf("_"));
    			//tousLesSelect[i].setAttribute("name", attri+"_"+nbProjet.value);
    			tousLesSelect[i].name = attri+"_"+nbProjet.value;
     
    		}
    	}
     
    	//Mise à jour de l'attribut id du tr cloné
    	ligneClone.id = "ligne"+nbProjet.value;
     
     
    }

  2. #2
    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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    à la fin de la creation essaye de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms[0].getElementsById('monsubmit').type="submit"
    en mettant à ton bouton submit

  3. #3
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 115
    Points : 2 075
    Points
    2 075
    Par défaut
    Mon bouton submit est en dehors de mon tableau. Il est en construit en dur et directement avec le bon type : submit.

    De plus lorsque je clique sur mon bouton submit, tous les select qui ont été créé des le départ sont bien envoyé. Ils apparaissent bien quand je fais un print_r($_POST); J'en conclue donc que mon bouton submit est bien correct.

    Par contre, c'est uniquement les lignes dupliqués, c'est à dire les select créé coté client qui ne sont pas envoyé au serveur.

    Les lignes dupliquées sont bien sur entre les balises <form action="monfichierserveur.php" method="post"> et </form>

  4. #4
    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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    Ce n'est une question que le bouton soit correct ou pas, c'est juste pour feiter et lui dire de prendre en compte les champs ajoutés ... Maintenant si tu ne veux pas de mes conseils ...

  5. #5
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 115
    Points : 2 075
    Points
    2 075
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Ce n'est une question que le bouton soit correct ou pas
    Oki dans ce cas.


    Citation Envoyé par SpaceFrog Voir le message
    c'est juste pour feiter et lui dire de prendre en compte les champs ajoutés ...
    Que signifie feiter ? Faute de frappe ?

    Faire prendre en compte les champs ajoutés ... Et bien, c'est assez surprenant ce que tu me dis.


    Citation Envoyé par SpaceFrog Voir le message
    Maintenant si tu ne veux pas de mes conseils ...
    Oula pas du tout. Je me demandais pourquoi faire ceci.
    J'avais bien remarqué que tu es modo ce qui laisse supposer que tu connais bien Javascript et DOM et cela m'etonnerais pas du tout bien mieux que moi. Je ne mets pas ta parole en doute et j'irais de ce pas, demain matin au taff essayer ton astuce

  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 644
    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 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    feiter ??? tu connais pas les feitards ha ben non ça s'écrit pas comme ça
    faut faire la fête !!!

    en fait je parlais de feinte

  7. #7
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 115
    Points : 2 075
    Points
    2 075
    Par défaut
    SpaceFrog > j'aime bien lorsque j'aide quelqu'un avoir des nouvelles, je me dois donc te les donner ...
    J'ai essayer ta solution mais malheuresement cela n'a pas fonctionner.

    J'ai donc créér dès le début ma 2ème ligne et je l'ai caché par defaut. Lorsque j'appuis sur le bouton +, cela passe en mode "visibility". Les champs sont maintenant bien envoyé.

    En tant que developpeur je ne trouve pas cette solution tres propre parce que je mets ma 2ème ligne de tableau en dur. La solution DOM avait le grand avantage de pouvoir ajour N ligne dans mon tableau... Malheuresement, je n'ai pas assurer et du me resigner à faire la méthode crade ....

    Voilou pour les news. Je ne suis plus sur le projets, je ne peux plus revenir dur DOM ...

    Merci à toi SpaceFrog pour avoir passer du temps ...

    @+++

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

Discussions similaires

  1. Select option non mis à jour dans le DOM
    Par chok71 dans le forum jQuery
    Réponses: 3
    Dernier message: 09/09/2014, 21h42
  2. message non envoyé serveur->client
    Par lmplmp dans le forum Réseau
    Réponses: 1
    Dernier message: 05/04/2011, 18h55
  3. Réponses: 1
    Dernier message: 13/04/2006, 16h55
  4. SGBD SQL non orienté client/serveur
    Par Manue_Y dans le forum Langage SQL
    Réponses: 8
    Dernier message: 19/05/2005, 12h31
  5. [ADO-Access] ADOQuery1.Open (SELECT) -> Erreur non spécif
    Par david_chardonnet dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/11/2004, 16h29

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