jQuery
En savoir plus
Adobe Flex & Flash
En savoir plus
ASP.NET
En savoir plus

| Page 1 | |||||
| Auteur | Message | ||||
|---|---|---|---|---|---|
| 1 visiteur sur ce sujet (1 Anonyme) | |||||
| Page 1 | |||||
Nittya
|
# Posté le 04/02/2012 à 03:01:17 | ||||
![]()
|
Bonjour à tous !
Voilà j'ai dans une de mes pages trois formulaires. Je me suis d'abord occupé du premier. Il me fallait la possibilité de rajouter des lignes, ce que j'ai fait avec javascript. Le script marche, pas de soucis. (bien que je pense qu'il doive être optimisé, mais mes tentatives échouent. (Je débute en javascript)) Lorsque j'arrive au deuxième formulaire, je veux ajouter la même option. Mon premier réflexe est de refaire appel à la même fnction, mais il m'ajoute mes lignes dans le premier formulaire. Alors j'ai refait une fonction en changeant les noms, mais rien n'y fait, ça ne s'ajoute pas. (bon, déjà il ne les ajoute plus dans le premier formulaire). Pourriez vous m'aider ? Voici mes codes : Secret (cliquez pour afficher) Code : HTML
Édité
le 04/02/2012 à 03:24:47
par Nittya
|
||||
| Publicité | # Posté le 04/02/2012 à 03:01:17 | ||||
|
|
|||||
Adonis
|
# Posté le 04/02/2012 à 03:08:59 | ||||
![]()
|
Salut,
Car t'as les meme ID sur ton deuxième formulaire. Cordialement, Adonis .
|
||||
Nittya
|
# Posté le 04/02/2012 à 03:21:17 | ||||
![]()
|
Bonjour,
Avant tout, merci pour cette réponse rapide =) Malheureusement, j'ai changé les id des inputs et le problème subsiste (je vais éditer le code pour montrer à quoi ça ressemble maintenant) Une autre idée peut être ? EDIT : Problème résolu, j'ai changé la place de ma deuxième fonction dans le init() et ça a marché. J'édite mon code pour montrer comment c'est à présent. Merci beaucoup pour ton aide =)
Édité
le 04/02/2012 à 03:24:02
par Nittya
|
||||
Adonis
|
# Posté le 04/02/2012 à 03:26:06 | ||||
![]()
|
Il faut que les ID du deuxième formulaire soient différent du premier formulaire.
Un ID ne se déclare qu'une seule fois, voilà pourquoi tu as ce problème.
Édité
le 04/02/2012 à 03:38:56
par Adonis
|
||||
Nittya
|
# Posté le 04/02/2012 à 15:12:28 | ||||
![]()
|
Merci pour ta réponse, ce problème est résol. En revenche, je me heurte à un autre, et je pense que c'est du à la fonction cloneNode().
En fait, si j'écris dans le premier champs, lorsque je créé une nouvelle ligne, la valeur des inputs est égale à celle du premier champs. J'ai essayé de faire newFields.value = ''; mais rien n'y fait. |
||||
Adonis
|
# Posté le 04/02/2012 à 15:21:17 | ||||
![]()
|
Tu peux montrer juste le code de ta fonction s'il-te-plaît ? (pour ce problème).
Édité
le 04/02/2012 à 15:31:30
par Adonis
|
||||
Nittya
|
# Posté le 04/02/2012 à 15:29:27 | ||||
![]()
|
Bien sur, la voici :
Code : JavaScript
|
||||
Adonis
|
# Posté le 04/02/2012 à 15:37:49 | ||||
![]()
|
|||||
Nittya
|
# Posté le 04/02/2012 à 15:47:14 | ||||
![]()
|
A quel endroit je met ça, parce que j'ai essayé en remplaçant l'actuel, le code ne marche plus du tout. Je l'ai mit dans ma boucle, ça ne change rien
(en gros, quand je fais ça : Secret (cliquez pour afficher) Code : JavaScript
le code ne marche plus, et quand je fais ça : Secret (cliquez pour afficher) Code : JavaScript
ça ne change rien) |
||||
Adonis
|
# Posté le 04/02/2012 à 15:48:00 | ||||
![]()
|
A l'intérieur du if(theName).
|
||||
Nittya
|
# Posté le 04/02/2012 à 15:51:29 | ||||
![]()
|
désolée, ça ne change toujours rien. Je suis en train de me demander si le soucis ne vient pas du cloneNode. Parce que j'ai peur que mon name ne soit pas non plus incrémenté malgré la boucle
EDIT : je sais que je pars un peu dans un autre problème là, mais j'ai fait un 'onClick="alert(this.name);"' sur mes inputs et lorsque je clique dessus il m'affiche toujours le même name. Je vois as trop du coup comment je vais réussir à récupérer les résultats de mon formulaire. Comment ça se fait que ma boucle ne marche pas ?
Édité
le 04/02/2012 à 16:01:22
par Nittya
|
||||
Adonis
|
# Posté le 04/02/2012 à 16:13:45 | ||||
![]()
|
A cause de la ligne 22 je pense.
En gros tu souhaites récupérer les éléments (tes divs admettons) et tu souhaites ajouter un ou des éléments. Là en gros tu prends la div tu fais un childNode, ensuite tu retires l'id, la value, après tu demandes à la div qui n'a plus d'id de faire un ChildNode sur ton new Field. Un peu compliquer à comprendre :-o, alors tu as pas mal de problèmes. Pourquoi ne pas faire : Code : JavaScript
Pour faire appel à des propriétés ou des méthodes, car des fois tu fais appel à une méthode alors que t'es entrain de faire appel à une propriété. En gros : document.getElementById('txt').style.color='#FFF'.toUpperCase(). Tu vois tu fais appel à une propriété et après une méthode. (En gros ça peut pas marcher c'est un exemple hein) !Cordialement Adonis .
Édité
le 04/02/2012 à 16:16:22
par Adonis
|
||||
Nittya
|
# Posté le 04/02/2012 à 16:21:27 | ||||
![]()
|
le soucis c'est u'en enlevant le cloneNode comme tu le suggère, la fonction ne s'exécute plus du tout. C'est vrai que c'est bien compliqué, mais c'est tout ce que j'ai trouvé pour ordonner le résultat, sinon mes nouveaux inputs s'inséraient n'importe où dans la page, et pas à la suite des autres.
J'ai bien essayé en créant les éléments uns par uns mais ça n'a jamais marché. Je début tout juste en javascript et j'avoue que je ne comprends pas toujours pourquoi ça ne marche pas alors que ça me semble correct ou que ça marche pour d'autres visiblement. Ca va faire trois jours que je suis sur cette "simple" page, et j'avoue que je commence un peu à désespérer. Je vais finir par le faire en php, même si ça fait un peu lourd. :s |
||||
Retour au forum "Javascript" ou à la liste des forums
