Script javascript incrementation id
Résolu
Sha-Ke
Messages postés
3
Statut
Membre
-
Sha-Ke Messages postés 3 Statut Membre -
Sha-Ke Messages postés 3 Statut Membre -
Bonjour à tous, j'ai vais essayer d'être claire dans ma question : J'ai un formulaire en php, ce formulaire se trouve dans une simple boucle for une ($i =10) donc 10 ligne. Pour chaque ligne l'id change de 1 à 10 pour chaque ligne j'ai un bouton ...
Le script javascript
EDIT : AJOUT DES BALISES DE CODE (jordane)
Comment dois-je procéder pour que à chaque clique la bonne ligne s'enregistre dans la base de donnée pour le moment le résultat que j'obtiens c'est l'enregistrement de la première ligne ou de la dernière. d'avance merci pour vos réponse
<?php
for ($i = 1; $i <= 10; $i++)
{
?>
<form id="loginForm" method="" action="" novalidate="novalidate">
<div class="form-group">
<label for="student_name" class="control-label">Nom <?php echo $i; ?></label>
<input type="text" class="form-control" id="student_name<?php echo $i; ?>" name="student_name" value="jean - <?php echo $i; ?>" required="" title="Please enter you Name" placeholder="">
<span class="help-block"></span>
</div>
<button type="button" class="btn btn-success btn-block" name="insert-data" onclick="insertData()">Insert Data</button>
<br>
<span class="alarm" id="message"></span>
</form>
<?php
}
?>
Le script javascript
<script type="text/javascript">
function insertData(){
var student_name=$("#student_name").val();
$.ajax({
type: "POST",
url: "insert-data-test.php",
data: {
student_name:student_name},
dataType: "JSON",
success: function(data) {
$("#message").html(data);
$(".alarm").addClass("alert alert-success");
},
error: function(err) {
alert(err);
}
});
}
</script>
EDIT : AJOUT DES BALISES DE CODE (jordane)
Comment dois-je procéder pour que à chaque clique la bonne ligne s'enregistre dans la base de donnée pour le moment le résultat que j'obtiens c'est l'enregistrement de la première ligne ou de la dernière. d'avance merci pour vos réponse
1 réponse
-
Bonjour,
Tu peux lui passer le numéro de ligne dans ta fonction en utilisant, par exemple<button type="button" class="btn btn-success btn-block" name="insert-data" data-id="<?php echo $i; ?>" onclick="insertData('<?php echo $i; ?>')">Insert Data</button>
Bien entendu, comme il se doit, tu auras pris le soin d'attribuer un ID unique à chacun de tes champs...
(y compris au niveau des "for" de tes labels... )<label for="student_name<?php echo $i; ?>" class="control-label">Nom <?php echo $i; ?></label> <input type="text" class="form-control" id="student_name<?php echo $i; ?>" name="student_name" value="jean - <?php echo $i; ?>" required="" title="Please enter you Name" placeholder="">
et donc, dans ton code jsfunction insertData(id){ var student_name=$("#student_name"+id).val();
NB: Tu as vu comme le code que je poste est joli... en couleur et indenté ? :-)
Cela se fait grâce aux BALISES DE CODE. Je t'invite à les utiliser à l'avenir....
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
-
-
Un grand merci Jordane45, ca marche super bien,
voici le code final<?php for ($i = 1; $i <= 10; $i++) { ?> <form id="loginForm" method="" action="" novalidate="novalidate"> <div class="form-group"> <label for="student_name<?php echo $i; ?>" class="control-label">Nom <?php echo $i; ?></label> <input type="text" class="form-control" id="student_name<?php echo $i; ?>" name="student_name" value="jean - <?php echo $i; ?>" required="" title="Please enter you Name" placeholder=""> <span class="help-block"></span> </div> <button type="button" class="btn btn-success btn-block" name="insert-data" data-id="<?php echo $i; ?>" onclick="insertData('<?php echo $i; ?>')">Insert Data</button> <br> <span class="alarm<?php echo $i; ?>" id="message<?php echo $i; ?>"></span> </form> <script type="text/javascript"> function insertData(id){ var student_name=$("#student_name"+id).val(); $.ajax({ type: "POST", url: "insert-data-test.php", data: { student_name:student_name}, dataType: "JSON", success: function(data) { $("#message"+id).html(data); $(".alarm"+id).addClass("alert alert-success"); }, error: function(err) { alert(err); } }); } </script> <?php } ?>
-