Bonjour,
Je me tourne vers vous car je fais face à un probléme auquelle je n'arrive pas à trouver de solution simple, que ce soit en JS pur ou avec JQUERY.
J'ai un formulaire que je peux "cloner" pour ajouter d'autres éléments. Pour remettre les erreurs correspondantes au bon clone de formulaire j'ai mis des classes qui s'incrémentent ("error_Assemblage0" en lien avec toutes les classes "Assemblage0_..." pour l'original puis "error_Assemblage1" pour le suivant ,...) à chaque fois que l'on clone le formulaire en cliquant sur le bouton "add".
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <html> <form> <div id = "Assemblages"> <input type="hidden" id="nbAss" name="nbAss" /> <!--==== FORM ASSEMBLAGE ORIGINALE ====--> <div id="assemblage" class="newAssemblage"> <!--Affichage des erreurs--> <div class="error" id="error_Assemblage0"> <span id="error_Assemblage0_num"> </span> <span id="error_Assemblage0_duration"> </span> </div> <div> <label> "N° de l'assemblage : "</label> <input type="text" class="Assemblage0_num" name="numAssemblage[]" value="" onblur="verifNum(this)"/> <input type="text" class="Assemblage0_duration" name="tRefroid[]" value="" onblur="verifDuration(this)"/> </div> </div> <button type="button" id="btnAddField" >+</button> </div> </form> </html>Le probléme est que quand je clone le formulaire je récupère les classes, j'ai donc pour chaque clone "Assemblage0_..." alors que j'aimerais avoir "Assemblage+nbAss+_...". Mais je ne vois pas comment faire...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //Clonage du formulaire $('#formAssemblage').on( 'click', '#btnAddField', function() { nbAss++; var $clone = $('#assemblage').clone(true); $clone.removeAttr('id');//On ne l'aisse l'd que sur l'original pour pouvoir le recopier pour les suivants $clone.find("input[type='text']").val(""); $clone.appendTo($("#Assemblages")); $clone.prepend('<button type="button" class="btnRemoveField"> - </button>'); //On ajout un bouton pour pouvoir supprimer l'assemblage document.getElementById("nbAss").value=nbAss; affNbAss(); });
Quelqu'un aurait-il une idée?
Merci.
Partager