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:jQuery: find id d'un champ de formulaire
<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 la variable javascript credInt de $ réglée correctement afin qu'il puisse être envoyé à la page addCredit.php et mettre à jour les champs de formulaire en conséquence. Je dois également être sûr qu'à chaque fois que le formulaire est ajouté, la prochaine valeur envoyée est la valeur incrémentée.
Des pensées sur comment je pourrais accomplir ceci? Merci de votre aide.
J'adore cette fonction de clonage, cela élimine le besoin d'un fichier supplémentaire. Beau code! Je vous remercie! – superUntitled