1 pièce(s) jointe(s)
"value" affichée dans le form pas la même que celle dans le code
Bonjour je fais face à un une réaction assez étrange de la part de mon code, j'aimerais vous en faire part.
J'ai un formulaire dynamique auquel on peut copier une div ("newAssemblage") autant de fois qu'on veut en cliquant sur un bouton. Cette copie fonctionne, je n'arrive juste pas encore à changer le nom des classes de chaque champ pour l'incrémenter.
Lorsque je post le formulaire, tous les champs sont stocké en session et lorsque je fais un retour en arrière je remet toutes les valeurs dans leur emplacements respectifs (partie FORM CLONE ASSEMBLAGE sur le code).
Le problème vient quand je fais une copie d'un assemblage, je le post, je l'affiche dans un tableau, toutes les valeurs sont au bon endroit. Puis quand je fais un retour en arrière, PHP doit me remettre le formulaire comme il était mais mais il ne remplie pas les champ comme il faut... (photo à la fin)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
<div id="formulaireAjout">
<form id="idFormAjout">
//Autres éléments du formulaire
<!--==== FORM ASSEMBLAGES ====-->
<div id="formAssemblage">
<div id="assemblages">
<h1>Assemblages : <span id="nbAssemblage"> </span></h1>
<input type="hidden" id="nbAss" name="nbAss" />
<!--==== FORM ASSEMBLAGE ORIGINALE ====-->
<div id="assemblage" class="newAssemblage">
<label>N° de l'assemblage :</label>
<input type="text" id="numAssemblage0" class="Assemblage0_num" name="numAssemblage[]" value="<?php if(!empty($addForm['numAssemblage'])) echo $addForm['numAssemblage'][0];?>" onblur="verifNum(this)"/>
<label>Temps de refroidissement :</label>
<input type="text" id="tRefroid0" class="Assemblage0_duration" name="tRefroid[]" value="<?php if(!empty($addForm['tRefroid'])) echo $addForm['tRefroid'][0]; ?>" onblur="verifDuration(this)"/>
</div>
<!--==== FORM CLONES ASSEMBLAGES ====-->
<?php if(!empty($addForm['nbAss'])) {//Partie ajoutée si retours après un 1er post
for($i=1 ; $i<$_SESSION['addForm']['nbAss'] ; $i++) {?>
<div class="newAssemblage">
<label>N° de l'assemblage :</label>
<input type="text" id="" class="Assemblage<?php echo $i; ?>_num" name="numAssemblage[]" value="<?php if(!empty($addForm['numAssemblage'])) echo $addForm['numAssemblage'][$i]; ?>" onblur="verifNum(this)"/>
<label>Temps de refroidissement :</label>
<input type="text" id="" class="Assemblage<?php echo $i; ?>_duration" name="tRefroid[]" value="<?php if(!empty($addForm['tRefroid'])) echo $addForm['tRefroid'][$i]; ?>" onblur="verifNumbers(this)"/>
<button type="button" class="btnRemoveField"> - </button>
</div>
</div>
<button type="button" id="btnAddField" >+</button>
</div>
<input type="submit" id="btnSendForm" value="Ajouter à la base">
</form>
</div>
<script type="text/javascript" >
var nbAss = <?php if(!empty($_SESSION['addForm']['nbAss']))echo $_SESSION['addForm']['nbAss']; else echo "1"; ?>;
document.getElementById("nbAss").value=nbAss;
function affNbAss() {
document.getElementById("nbAssemblage").innerHTML = nbAss;
}
$('#formAssemblage').on( 'click', '#btnAddField', function() {
nbAss++;
var $clone = $('#assemblage').clone(true);
$clone.removeAttr('id');
$clone.find("input[type='text']").val("");
$clone.appendTo($("#assemblages"));
$clone.prepend('<button type="button" class="btnRemoveField"> - </button>');
document.getElementById("nbAss").value=nbAss;
affNbAss();
});
$('.newAssemblage').on( 'click', '.btnRemoveField', function() {
nbAss--;
$(this).parents('.newAssemblage').remove();
document.getElementById("nbAss").value=nbAss;
affNbAss();
});
</script> |
exemple : je rentre original : champ 1 = a | champ 2 = 2
copie : champ 1 = z | champ 2 =22
Je post, je revient en arriére et j'ai http://hpics.li/289dbb4
pourtant quand je regarde dans le code j'ai bien
Code:
1 2 3
|
<input type="text" id="" class="Assemblage0_num" name="numAssemblage[]" value="a" onblur="verifNum(this)"/> // Mais z est affiché
<input type="text" id="" class="Assemblage1_num" name="numAssemblage[]" value="z" onblur="verifNum(this)"/> |
Désolé pour ce post plutôt long.
Est-ce que quelqu'un saurait pourquoi cela fait ça?
Si ce n'est pas clair, n’hésitez pas à me demander de réexpliquer.
Merci.