|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Bonjour,
je construit un tableau javascript qui est indexé par des variables d'un autre tableau php array. Les valeurs de ce tableau JS sont des éléments d'un formulaire . le tableau est rempli si je coche la ligne correspondante à l’élément <input> texte. mais quand j'affiche mon tableau , j'obtiens des séparateurs comme ça : Code :
,Produits PF,Produits ATQ,Produits Financiers,,Charges PF,,,,,Produits de location Quels est le problème selon vous ? voici le code HTML généré quand. Code :
Cordialement. |
||
|
|
00
|
|
|
#2 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#3 | |||
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Citation:
avec Code :
if (document.getElementById('labox'+id_ligne).checked) Je voudrais mettre les textes des cases cochées dans une chaine de caractères et l'affecter au tableau au sortir la boucle. la chaine est initialisée '' avant la boucle. Code :
mais j'ai à la fin de la chaine un caractère ",". Comment le supprimer en javascript ?( enlever un caractère se trouvant à la fin d'une chaine) Merci de vos aides Cordialement. |
|||
|
|
00
|
|
|
#4 | |||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
![]() Si par exemple, seules tes cases 1 3 et 8 sont cochées, tu rempliras le tableau aux rangs 1 3 et 8, mais les rangs 0 2 4 5 6 7 resteront vides Essaye par exemple Code :
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|||
|
00
|
|
|
#5 | ||
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Bonjour,
C'est vrai je vois bien. les cases non remplies sont vides. Ce qui amène que les virgules se succèdent. Maintenant, je voudrais déclarer un tableau dont la longueur est égale exactement au nombres de cases qui sont cochées. Pour cela, je fais d'abord une boucle ou je comptes le nombre de cases qui cochées , puis je déclare et remplit le tableau dont la taille est égale à ce nombre. Code :
En fait je vais faire après une requête AJAX. Pour cela je veux envoyer le tableau de chapitres dont les cases sont cochées au lieu d'envoyer le tableau entier et faire la vérification de cases qui sont cochées dans le fichier de traitement php. Est - il plus facile et pratique de le faire coté client avant d'envoyer ça en ajax ? Le tableau dont tous les éléments déclarés sont remplis ne devrait pas avoir de cases vides. N'est-ce pas ? Cordialement |
||
|
|
00
|
|
|
#6 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Bonjour,
C'est les index des lignes qui sont les index de mon tableau. C'est pourquoi même en fixant le nombre d’éléments, dans l'initialisation , les index ne sont pas successifs et ne sont pas ordonnées. Je peux affecter pour la première fois un index égale à 9 (car c'est sa case qui est cochée le premier). Je pense le seul moyen c'est de supprimer les éléments vides du tableau après ? Cordialement. |
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Ce que voulait te faire comprendre Bovino est que les tableaux associatifs fonctionnent différement avec des clefs entières.
En gros si tu déclares le tableau associatif suivant : Code :
Le tableau que tu as construit est donc bon si tu le parcours comme un tableau associatif (avec un for ... in donc) et mauvais si tu le parcours normalement ou si tu laisses javascript le parcourir pour toi (avec un alert par exemple). Pour résumer : ton code est tout à fait correct, c'est juste le alert qui n'affiche pas la réalité. Si tu utilises un for ... in pour parcourir ce tableau dans la suite du code, tu n'auras pas de problème. |
||
|
|
00
|
|
|
#8 | ||||
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Bonjour,
D'accord, j'ai bien compris. Bon la finalité c'est de l'envoyer via ajax. Je récupère bien le tableau en PHP avec en JS Code :
Code :
Code :
foreach {$tab_chapitre as $key => $val } Y'a pas une boucle en php qui est l’équivalent de (for ... in ) de javascript où on pourra accéder au clés et valeurs? Cordialement. |
||||
|
|
00
|
|
|
#9 |
![]() ![]() |
Bonjour, bonjour,
![]() Ce que madina oublie de dire, c'est que ses "i_ligne " sont en réalité des "id_chapitre", ID issus de la BASE DE DONNEES (id, auto-incrémentés). (voir ici) Autrement dit, ces "id_ligne" peuvent prendre n'importe quel valeur entre 1 et .... (?), et ne sont pas forcément par ordre croissant ou quoi que ce soit. Du coup, il n'y a pas de "trous" dans son array, mais une erreur dans sa récupération "par index" ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
madina, je crois que tu essayes d'aller un peu trop vite...
Tu essayes d'utiliser AJAX alors que tu ne maitrises manifestement pas les fondamentaux de PHP ni de JavaScript, ni des échanges client serveur. Nécessairement, tu vas droit dans le mur et tu compliques inutilement les choses. Le problème pour nous, c'est que pour t'aider correctement, il faudrait que l'on refasse tout, ce qui n'est absolument pas le but du forum. Je te conseillerais donc de commencer par mettre en place un formulaire classique qui réponde à tes besoins et de revenir à une solution AJAX lorsque tout sera plus clair dans ton esprit.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#11 |
![]() ![]() |
Le fait est que madina a lancé plusieurs topics sur le même sujet, recu plusieurs réponses, ... mais n'a pas fait le tri !
Toutes les solutions données répondaient à une problématique donnée. Sauf ... qu'il y avait des problématiques différentes, et parfois antinomiques et contradictoires. Il faut TRIER les infos reçues, et FAIRE UN CHOIX de la METHODE A UTILISER. La méthode "au shaker" (et pas à la cuillère) ne fonctionne que sur le vodka-martini de James Bond ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#12 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Bonjour,
En effet, j'ai déjà même utilisé Ajax dans des cas comme(listes liées, confirmation insertion ou modifications...). Pour cet exemple, c'est seulement que c'est beaucoup plus complexe avec l’état des checkbox. Donc ce serait bien que je sache comment faire quand on fait de l'AJAX pour savoir si un checkbox est coché ou pas dans un tableau de checkbox . avec la définition d'un tableau de checkbox: Code :
<input type="checkbox" name="labox[<?php echo $idLigne; ?>]" id="labox<?php echo $idLigne; ?>" value="<?php echo $idLigne; ?>" />. Le problème est que tous les checkbox qu'il soient cochés ou pas possèdent une valeur par défaut ici. Comment donc savoir avec ajax qu’un checkbox est coché ? Cordialement. |
|
|
00
|
|
|
#13 |
![]() ![]() |
[Edit] Oups ! mauvais endroit ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#14 | |||||
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Citation:
Le problème c'est que si tu utilises "join" sur ton tableau javascript, ce qui équivaut à le parcourir de façon "normale". Pour ce que tu veux faire, il te faut toi-même écrire le join : Code PHP :
Bien entendu il faut qu'aucun des délimiteurs (':' et ',') ne puisse être présent dans la clef ou dans la valeur. Ensuite il te suffit de reconstituer le tableau côté PHP : Code PHP :
|
|||||
|
|
00
|
|
|
#15 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
Ca se fait à partir d'une boucle sur l'ensemble des checkbox de la page. Ensuite, tu peux dans cette boucle, créer la chaine de paramètres à envoyer lors de la requête AJAX.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#16 |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Bonjour,
Merci. Donc je vais le tester dans la page avant de faire la requête ajax. je le faisais même avant . Cordialement. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com