mc_cut_killer | Bonjour à tous,
j'ai poser le même genre de question hier mais le sujet à été effaçé par érreur J'arrive à ajouter des lignes à mon tableau de manière dynamique grâce à une fonction javascript.
Le problème est que je début en js et que je ne sais pas comment vérifier que mes attributs fonctionnent, mais à prioris ca foire Voici la première ligne de mon tableau :
Code :
- <table width="1050" border="1" class="txtB" id="details_cde"><style>body {}</style>
- <tr align="center"><td>Lg</td><td>Qté. Cdée</td><td>Libellé</td><td>Code Article</td><td>Délais</td><td>Remise %</td><td>Prix net</td><td>Code taxe</td><td>Montant</td></tr>
- </table>
|
Et voici un exemple de ligne avec les id que je voudrais ajouter :
Code :
- <tr align="center"><td align="right">1</td>
- <td><input type="text" id="qte_1" size="6" maxlength="11"></td>
- <td>Définissez d'abord un code produit</td>
- <td><input type="text" id="code_produit_1" size="15" maxlength="15" autocomplete="off"></td>
- <td><input type="text" id="delaisJJ_1" value="JJ" size="2" maxlength="2"><input type="text" id="delaisMM_1" value="MM" size="2" maxlength="2"><input type="text" id="delaisAA_1" value="AAAA" size="4" maxlength="4"></td>
- <td><input type="text" id="remise_1" value="" size="3" maxlength="3"></td>
- <td><input type="text" id="prix_net_1" value="" size="6" maxlength="11"></td>
- <td><input type="text" id="code_taxe_1" value="" size="1" maxlength="1"></td>
- <td id="montant_1"> </td></tr>
|
Pour ajouter cette ligne, voici la fonction que j'utilise :
Code :
- var nb_ligne = 0;
- function ajouter_ligne()
- {
- nb_ligne++;
-
- /********************************
- * Définition des différents champ input *
- * avec leurs attributs *
- ********************************/
- var qte = document.createElement("input" );
- qte.setAttribute("type", "text" );
- qte.setAttribute("id", 'qte_'+nb_ligne+'');
- qte.setAttribute("size", "6" );
- qte.setAttribute("maxlength", "11" );
-
-
- var code = document.createElement("input" );
- code.setAttribute("type", "text" );
- code.setAttribute("name", "code_produit" );
- code.setAttribute("id", "code_produit" );
- code.setAttribute("size", "15" );
- code.setAttribute("maxlength", "15" );
- code.setAttribute("autocomplete", "off" );
-
-
- var delaisJJ = document.createElement("input" );
- delaisJJ.setAttribute("type", "text" );
- delaisJJ.setAttribute("value", "JJ" );
- delaisJJ.setAttribute("id", 'delaisJJ_'+nb_ligne+'');
- delaisJJ.setAttribute("size", "2" );
- delaisJJ.setAttribute("maxlength", "2" );
-
-
- var delaisMM = document.createElement("input" );
- delaisMM.setAttribute("type", "text" );
- delaisMM.setAttribute("value", "MM" );
- delaisMM.setAttribute("id", 'delaisMM_'+nb_ligne+'');
- delaisMM.setAttribute("size", "2" );
- delaisMM.setAttribute("maxlength", "2" );
-
-
- var delaisAA = document.createElement("input" );
- delaisAA.setAttribute("type", "text" );
- delaisAA.setAttribute("value", "AAAA" );
- delaisAA.setAttribute("id", 'delaisAA_'+nb_ligne+'');
- delaisAA.setAttribute("size", "4" );
- delaisAA.setAttribute("maxlength", "4" );
-
-
- var remise = document.createElement("input" );
- remise.setAttribute("type", "text" );
- remise.setAttribute("id", 'remise_'+nb_ligne+'');
- remise.setAttribute("size", "3" );
- remise.setAttribute("maxlength", "3" );
-
-
- var prix_net = document.createElement("input" );
- prix_net.setAttribute("type", "text" );
- prix_net.setAttribute("id", 'prix_net_'+nb_ligne+'');
- prix_net.setAttribute("size", "6" );
- prix_net.setAttribute("maxlength", "11" );
-
-
- var code_taxe = document.createElement("input" );
- code_taxe.setAttribute("type", "text" );
- code_taxe.setAttribute("id", 'code_taxe_'+nb_ligne+'');
- code_taxe.setAttribute("size", "1" );
- code_taxe.setAttribute("maxlength", "1" );
-
-
- /********************************
- * Mise en place des différentes varibles *
- * pour la création de la nouvelle ligne *
- ********************************/
- var newRow = document.getElementById('details_cde').insertRow(-1);
- var newCell = newRow.insertCell(0);
- newRow.setAttribute("id", 'ligne_'+nb_ligne+'');
- newRow.setAttribute("align", "center" );
-
- newCell.innerHTML = ''+nb_ligne+'';
- newCell.setAttribute("align", 'right');
-
- newCell = newRow.insertCell(1).appendChild(qte);
-
- newCell = newRow.insertCell(2);
- newCell.setAttribute("id", 'lib_'+nb_ligne+'');
- newCell.innerHTML = 'Définissez d\'abord un code produit';
-
- var code_produit = newRow.insertCell(3);
- code_produit.appendChild(code);
-
- var delais = newRow.insertCell(4);
- delais.appendChild(delaisJJ);
- delais.appendChild(delaisMM);
- delais.appendChild(delaisAA);
-
- newCell = newRow.insertCell(5).appendChild(remise);
-
- newCell = newRow.insertCell(6).appendChild(prix_net);
-
- newCell = newRow.insertCell(7).appendChild(code_taxe);
-
- newCell = newRow.insertCell(8);
- newCell.setAttribute("id", 'montant_'+nb_ligne+'');
- newCell.innerHTML = ' ';
-
- }
-
- </script>
|
Quand je lance la fonction, la ligne s'ajoute nickel. Jusque là j'étais content et croyait même que ca marchais.
Mais maintenant que j'essaye d'intégrer un moteur de recherche à la Google Suggest dans mon input code produit, ca marche pas .
Le problème doit venir du fait que les id sont mal formulé. Et je ne sais pas comment accèder au code que je viens de créer car il apparaît pas dans le code html de la page.
Merci d'avance pour votre aide Message édité par mc_cut_killer le 30-03-2006 à 16:00:51
|