Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1727 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Soucis javascript => incrémentation dans une "var"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Soucis javascript => incrémentation dans une "var"

n°1210772
digitalfli​ght
Posté le 29-09-2005 à 13:59:27  profilanswer
 

Bonjour,
 
J'ai une petite question ...
 
J'utilise le code suivant :
 

Code :
  1. <script>
  2. function ajoutLigne() {
  3.    // Nouveau TD (colonne de gauche)
  4.    var newData1 = window.parent.document.createElement('td');
  5.    newData1.innerHTML = '<textarea rows="3" name="titre" cols="20" class="textarea_pl"></textarea>';
  6.    newData1.align="center";
  7.    var newData2 = window.parent.document.createElement('td');
  8.    newData2.innerHTML = '<textarea rows="3" name="paragraphe" cols="20" class="textarea_pl"></textarea>';
  9.    newData2.align="center";
  10.    var newData3 = window.parent.document.createElement('td');
  11.    newData3.innerHTML = '<textarea rows="3" name="texte" cols="20" class="textarea_pl"></textarea>';
  12.    newData3.align="center";
  13.    var newData4 = window.parent.document.createElement('td');
  14.    newData4.innerHTML = '<textarea rows="3" name="histoire" cols="20" class="textarea_pl"></textarea>';
  15.    newData4.align="center";
  16.    var newData5 = window.parent.document.createElement('td');
  17.    newData5.innerHTML = '<textarea rows="3" name="date_debut" cols="20" class="textarea_pl"></textarea>';
  18.    newData5.align="center";
  19.    var newData6 = window.parent.document.createElement('td');
  20.    newData6.innerHTML = '<textarea rows="3" name="date_fin" cols="20" class="textarea_pl"></textarea>';
  21.    newData6.align="center";
  22.    var newData7 = window.parent.document.createElement('td');
  23.    newData7.innerHTML = '<textarea rows="3" name="lieu" cols="20" class="textarea_pl"></textarea>'; 
  24.    newData7.align="center";
  25.    var newData8 = window.parent.document.createElement('td');
  26.    newData8.innerHTML = '<textarea rows="3" name="nickname" cols="20" class="textarea_pl"></textarea>';
  27.    newData8.align="center";
  28.    // Nouveau TR
  29.    var newRow = window.parent.document.createElement('tr');
  30.    newRow.appendChild(newData1);
  31.    newRow.appendChild(newData2);
  32.    newRow.appendChild(newData3);
  33.    newRow.appendChild(newData4);
  34.    newRow.appendChild(newData5);
  35.    newRow.appendChild(newData6);
  36.    newRow.appendChild(newData7);
  37.    newRow.appendChild(newData8);
  38.    // Ajout du nouveau TR au tableau
  39.    document.getElementById("tableau" ).appendChild(newRow);
  40. }
  41. </script>


 
 
Donc, "petit" soucis, je voudrais que le nom de mes textarea, une fois insérés grace à ce javascript, soient suivis d'un numéro (ainsi quand on insére le textarea "titre", on se retrouve, sur la page html, avec une ligne et un textarea qui aie le nom "titre1", et si on ajoute encore une autre ligne, on aura "titre2", etc ...)
 
Une idée ?  
 
Je suis une merde en javascript ... je sais déjà pas comment j'ai pu adapter ce script a une page ;)
(pour ceux qui veulent le tester, faites donc un truc du genre <table> <tr id="tableau"> ... etc ... vous verrez ;)

mood
Publicité
Posté le 29-09-2005 à 13:59:27  profilanswer
 

n°1211307
digitalfli​ght
Posté le 30-09-2005 à 08:40:58  profilanswer
 

personne a une idée ? :(

n°1211321
gatsusat
Posté le 30-09-2005 à 09:06:58  profilanswer
 

et pourquoi utiliser que des TEXTAREA alors que dans certains cas tu devrais utiliser un input ?

n°1211323
backdafuck​up
Back to da old skool
Posté le 30-09-2005 à 09:16:09  profilanswer
 

Si tu déclares une variable au début de ta page (après le body je pense) en dehors d'une fonction, et que tu l'initialise, tu peux l'incrémenter ou tu veux après.
 

var n = 0;


 
et au début de ta fonction, tu mets un joli :  
 

n++;


 
et tes lignes deviennent :  
 

newData1.innerHTML = '<textarea rows="3" name="titre'+n+'" cols="20" class="textarea_pl"></textarea>';

 
 
enfin je crois hein...
 
edit: après c'est peut-être pas très propre, mais moi j'aurais essayé ça...


Message édité par backdafuckup le 30-09-2005 à 09:17:00
n°1211330
gatsusat
Posté le 30-09-2005 à 09:19:12  profilanswer
 

Mais fait fuper ce super tableau créé en JS avec tous les textarea inutiles.
 
au passage tu pouvvais directement tout mettre dans une boucle et les names de tes champs dans un array

n°1211412
digitalfli​ght
Posté le 30-09-2005 à 10:41:33  profilanswer
 

backdafuckup, j'ai modifié le script de cette manière :
 

Code :
  1. <script>
  2. var n=3;
  3. function ajoutLigne() {
  4. n++;
  5.     // Nouveau TD (colonne de gauche)
  6.     var newData1 = window.parent.document.createElement('td');
  7.     newData1.innerHTML = '<textarea rows="3" name="POUET'+n+'" cols="20" class="textarea_pl"></textarea>';
  8.     newData1.align="center";
  9.     var newData2 = window.parent.document.createElement('td');
  10.     newData2.innerHTML = '<textarea rows="3" name="CHAMP'+n+'" cols="20" class="textarea_pl"></textarea>';
  11.     newData2.align="center";
  12. [...]
  13.     // Nouveau TR
  14.     var newRow = window.parent.document.createElement('tr');
  15.     newRow.appendChild(newData1);
  16.     newRow.appendChild(newData2);
  17.     newRow.appendChild(newData3);
  18.     newRow.appendChild(newData4);
  19.     newRow.appendChild(newData5);
  20.     newRow.appendChild(newData6);
  21.     newRow.appendChild(newData7);
  22.     newRow.appendChild(newData8);
  23.     // Ajout du nouveau TR au tableau
  24.     document.getElementById("tableau" ).appendChild(newRow);
  25. }
  26. </script>


 
 
Mais niet, rien n'y fait, ça ne fonctionne pas ...
 
Ce script permet d'ajouter des lignes dans un tableau (le textarea, c'était juste pour un exemple) sans recharger la page ...
et comme j'ai dis précédement, je n'y connais pas grand chose au javascript ... je dois faire ceci pour répondre à un besoin urgent ... :( Alors bon, je ne peux que compter sur le bon vouloir d'autres personnes pour m'éclaircir (merci en tout cas de ce début d'éclaircissement), histoire que je passe ce cap et que je puisse enfin avancer ...
 
Mais là, je bloque ... encore ...
 
Help ?

n°1211421
gatsusat
Posté le 30-09-2005 à 10:45:05  profilanswer
 

ta fontcion ajoute ligne elle ajoute pleins de ligne de la facon quelle est goupillée.
 
ensuite c'est pas un manque de connaissance en JS que tu as  
C'EST UN MANQUE DE CONNAISSANCE EN PROGRAMMATION
 
ton n++ faut l'incrementer à chaque fois que tu rajoute une data
donc entre chaque ligne tu fais un n++

n°1211453
digitalfli​ght
Posté le 30-09-2005 à 11:09:29  profilanswer
 

gatsusat a écrit :

ta fontcion ajoute ligne elle ajoute pleins de ligne de la facon quelle est goupillée.


 
Oui, c'est le but :)
 

gatsusat a écrit :

ensuite c'est pas un manque de connaissance en JS que tu as  
C'EST UN MANQUE DE CONNAISSANCE EN PROGRAMMATION


 
J'ai jamais dit le contraire !
 

gatsusat a écrit :

ton n++ faut l'incrementer à chaque fois que tu rajoute une data
donc entre chaque ligne tu fais un n++


 
Ben oui, c'est, ce que je pense, je viens de "tenter" de le faire ... mais pourquoi ça me prend pas en compte la chose ... moi j'en sais rien, c'est bien pour celà que je demande sur un forum ...

n°1211488
gatsusat
Posté le 30-09-2005 à 11:39:14  profilanswer
 

   var newData1 = window.parent.document.createElement('td');  
    newData1.innerHTML = '<textarea rows="3" name="POUET'+n+'" cols="20" class="textarea_pl"></textarea>';  
n++ <==== la boulet
    newData1.align="center";  
    var newData1 = window.parent.document.createElement('td');  
    newData1.innerHTML = '<textarea rows="3" name="POUET'+n+'" cols="20" class="textarea_pl"></textarea>';  
n++ <==== la boulet
    newData1.align="center";  
    var newData1 = window.parent.document.createElement('td');  
    newData1.innerHTML = '<textarea rows="3" name="POUET'+n+'" cols="20" class="textarea_pl"></textarea>';  
n++ <==== la boulet
    newData1.align="center";  
    var newData1 = window.parent.document.createElement('td');  
    newData1.innerHTML = '<textarea rows="3" name="POUET'+n+'" cols="20" class="textarea_pl"></textarea>';  
n++ <==== la boulet
    newData1.align="center";  
    var newData1 = window.parent.document.createElement('td');  
    newData1.innerHTML = '<textarea rows="3" name="POUET'+n+'" cols="20" class="textarea_pl"></textarea>';  
n++ <==== la boulet
    newData1.align="center";  

n°1211520
backdafuck​up
Back to da old skool
Posté le 30-09-2005 à 11:54:54  profilanswer
 

ben j'avais pas compris ça comme ça moi....
 
si tu regardes bien ça fonction, toutes ces textarea n'ont pas le même nom, il ne faut donc pas l'incrémenter dans la fonction plusieurs fois...
 
Par contre, à chaque appel de la fonction, ce n doit être incrémenté...
 
Enfin, c'est ce que j'avais compris moi...

mood
Publicité
Posté le 30-09-2005 à 11:54:54  profilanswer
 

n°1211537
cgo2
Dum spiro spero
Posté le 30-09-2005 à 12:12:45  profilanswer
 

C'est peut-être une question bête mais... pourquoi tu veux ajouter un numéro après ton titre ?

n°1211576
gatsusat
Posté le 30-09-2005 à 13:06:17  profilanswer
 

m'enfin ca sent la popup à pleins nez, et le système bancale power !

n°1211666
digitalfli​ght
Posté le 30-09-2005 à 14:11:34  profilanswer
 

gatsusat : que de violence ...
 
backdafuckup : oui, tu avais bien compris ...
 
cgo2 : l'idée est de faire un formulaire, qui ressemble un peu a excel (en tout cas dans sa présentation visuelle "html" ), ou chaque personne pourrais y rajouter des informations (chiffre, texte, selon ce que j'ai crée).
L'idée est donc de pouvoir ajouter une ligne a cette page, sans recharger la page, pour après insérer le tout dans un fichier csv (qui fait office de BDD), d'où la nécessité d'avoir des noms de champs différents dès qu'on insére une nouvelle ligne (heu, j'ai été clair, ou je me suis perdu en chemin ?).
 
gatsusat : oui, mais là où je suis, je ne peux pas me permettre de faire autrement, pas de bdd, pas de language dynamique, rien ... donc html, javascript, csv ou assimilé ... bof ...
 
... sans parler de mes connaissances en programmation ;)

n°1211736
cgo2
Dum spiro spero
Posté le 30-09-2005 à 14:48:22  profilanswer
 

Je pense que cette page va t'interresser :
http://www.the-asw.com/articles/20 [...] dynamiques

n°1211845
digitalfli​ght
Posté le 30-09-2005 à 16:10:15  profilanswer
 

c'est génial ça cgo2 !!!
 
merci :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Soucis javascript => incrémentation dans une "var"

 

Sujets relatifs
[MYSQL] Incrémentation comme avec le PHP ou le Cprobleme de String avec javascript
[JavaScript] xhtml et attribut name d'un formulaire incompatibleErreur Javascript - Webmail neuf telecom
blocage du d'un site web cré avec javascriptCreer une carte "interactive" en javascript ?
[html/css/javascript] menu clic gauchePas vraiment HTML/CSS/Javascript mais...
Besoin d'aide en javascript et "input type=image"[JAVASCRIPT] Problème avec le signe +
Plus de sujets relatifs à : Soucis javascript => incrémentation dans une "var"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR