Je crée un formulaire dynamique dans lequel l'utilisateur aura la possibilité d'ajouter un ensemble d'entrées au formulaire. Le code html ressemble à ceci :
<form>
<input id="title1" class="title" name="title1" type="text" value="">
<input id="productionCompany1" name="productionCompany1" type="text" value="">
<input id="year1" name="year1" type="text" value="">
<input id="role1" name="role1" type="text" value="">
<div id="newCredit"> </div>
<a href="#" id="addCredit">add another credit</a>
</form>
Lorsque l'utilisateur clique sur le lien avec l'id de "addCredit", le script jQuery suivant est appelé :
$(document).ready(function() {
var $ac = $('#addCredit');
$ac.click(function() {
/* the following two lines are where the problem lies? */
var $credInt = $(this).prev(".title");
$.get("addCredit.php", {num: $credInt},
function(data){
$('#newCredit').append(data);});
return false;
});
});
La fonction jQuery interroge un fichier php appelé "addCredit.php", qui ressemble à ceci :
<?php
$int = $_GET["num"];
$int = substr($int, -1);
$int++;
?>
<input id="title<?php echo $int;?>" class="title" name="title<?php echo $int;?>" type="text" value="">
<input id="productionCompany<?php echo $int;?>" name="productionCompany<?php echo $int;?>" type="text" value="">
<input id="year<?php echo $int;?>" name="year<?php echo $int;?>" type="text" value="">
<input id="role<?php echo $int;?>" name="role<?php echo $int;?>" type="text" value="">
Mon problème est d'obtenir que la variable javascript $credInt soit correctement définie afin qu'elle puisse être envoyée à la page addCredit.php et mettre à jour les champs du formulaire en conséquence. Je dois également m'assurer qu'à chaque fois que le formulaire est ajouté, la prochaine valeur envoyée est la valeur incrémentée.
Avez-vous une idée de la façon dont je pourrais y parvenir ? Merci de votre aide.