[XAJAX] Concatenation d'elements et attrib ID
Résolu
Cocoy1
Messages postés
37
Date d'inscription
Statut
Membre
Dernière intervention
-
Cocoy1 Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
Cocoy1 Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche un moyen d'ajouter un input dans une div dans un formulaire sans effacer les valeurs des autre input de cette div. Pour le moment, les champs s'ajoutes bien, mais a chaque ajout, les autre champs de la même div sont vidés de leur valeur :(
Parallèlement, j'ai un probleme avec l'attribution d'id. $count ne s'incremente pas on dirait ...
Voici le code de la fonction appellé par un onclick, dans le but d'ajouter un nouveau produit sur une commande.
J'espère que vous pourrez m'aidez, ça fait un moment que je rame là :(
Je cherche un moyen d'ajouter un input dans une div dans un formulaire sans effacer les valeurs des autre input de cette div. Pour le moment, les champs s'ajoutes bien, mais a chaque ajout, les autre champs de la même div sont vidés de leur valeur :(
Parallèlement, j'ai un probleme avec l'attribution d'id. $count ne s'incremente pas on dirait ...
Voici le code de la fonction appellé par un onclick, dans le but d'ajouter un nouveau produit sur une commande.
J'espère que vous pourrez m'aidez, ça fait un moment que je rame là :(
function afficherChamps($frs) { global $bdd; static $count; $count++; $obj=new xajaxResponse(); $infos=""; $reponse = $bdd->query("SELECT idProduitA,designationA,idFrs FROM produita WHERE idFrs='".$frs."'"); $infos.="<select id=listePro".$count."><option>Selectionner Produit</option>"; while ($donnees = $reponse->fetch()) { $infos.="<option id=".$donnees['idProduitA']." value=".$frs.">".$donnees['designationA']."</option>"; } $reponse->closeCursor(); $infos.="</select>Quantite<input id=qte".$count." type='number'/>Prix/kg<input id=prix".$count." type='number'/><br />"; $obj->append('champs', 'innerHTML', $infos); return $obj; }
A voir également:
- [XAJAX] Concatenation d'elements et attrib ID
- Photoshop elements gratuit - Télécharger - Retouche d'image
- Id telephone - Guide
- Gate first id ✓ - Forum Navigateur
- Id reseau tv - Forum TNT / Satellite / Réception
- Id=108 - Forum MacOS
5 réponses
Salut !
Les inputs sont réinitialisés à cause du innerHTML.
Avec de l'AJAX normal il faudrait faire un appendChild en js, mais avec XAJAX je sais pas si c'est possible je ne connais pas cette library.
Pour le $count il n'est pas initialisé ça vient de là le pb. Par contre faut pas l'initialiser dans la fonction, sinon il aura toujours la même valeur et tu pourras avoirs plusieurs id identiques.
Je pense que le mieux c'est de reprendre la valeur de $frs qui a l'air d'$etre unique pour les id des nouveaux inputs
Les inputs sont réinitialisés à cause du innerHTML.
Avec de l'AJAX normal il faudrait faire un appendChild en js, mais avec XAJAX je sais pas si c'est possible je ne connais pas cette library.
Pour le $count il n'est pas initialisé ça vient de là le pb. Par contre faut pas l'initialiser dans la fonction, sinon il aura toujours la même valeur et tu pourras avoirs plusieurs id identiques.
Je pense que le mieux c'est de reprendre la valeur de $frs qui a l'air d'$etre unique pour les id des nouveaux inputs
Cocoy1
Messages postés
37
Date d'inscription
Statut
Membre
Dernière intervention
2
Ok, je vois ça pour le appendchild.
C'est pas très propre comme solution, c'est préférable de mettre directement le bon id.
Par ailleurs, il faut que ton site soit entièrement utilisable sans le js. Surtout si c'est un site marchand.
Par ailleurs, il faut que ton site soit entièrement utilisable sans le js. Surtout si c'est un site marchand.
voila, j'ai resolu le probleme finalement.
voici la fonction XAJAX
Je chope l'id par une fonction javascript qui me sert de compteur
voici la fonction XAJAX
function afficherChamps($frs,$id) { global $bdd; $obj=new xajaxResponse(); $infos=""; $reponse = $bdd->query("SELECT idProduitA,designationA,idFrs FROM produita WHERE idFrs='".$frs."'"); $infos.="<select id=selectPro_".$id." name='selectPro_".$id."'><option>Selectionner Produit</option>"; while ($donnees = $reponse->fetch()) { $infos.="<option value=".$donnees['idProduitA'].">".$donnees['designationA']."</option>"; } $reponse->closeCursor(); $infos.="</select>Quantite<input id=qte_".$id." name='qte_".$id."' type='number'/>Prix/kg<input id=prix_".$id." name='prix_".$id."' type='number'/><br />"; $newDivId='div_'.($id+1); $obj->insertAfter('div_'.$id, 'div', 'div_'.($id+1)); $obj->append('div_'.($id+1), 'innerHTML', $infos); return $obj; }
Je chope l'id par une fonction javascript qui me sert de compteur
var countDiv=0; function compteurDiv(){ countDiv++; return countDiv; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question