Script javascript incrementation id

Résolu/Fermé
Sha-Ke Messages postés 3 Date d'inscription mardi 25 septembre 2018 Statut Membre Dernière intervention 25 septembre 2018 - Modifié le 25 sept. 2018 à 20:49
Sha-Ke Messages postés 3 Date d'inscription mardi 25 septembre 2018 Statut Membre Dernière intervention 25 septembre 2018 - 25 sept. 2018 à 21:57
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 ...
<?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
A voir également:

1 réponse

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 718
Modifié le 25 sept. 2018 à 20:55
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 js
function  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


1
Sha-Ke Messages postés 3 Date d'inscription mardi 25 septembre 2018 Statut Membre Dernière intervention 25 septembre 2018
25 sept. 2018 à 21:36
Hello Jordane45,

Un grand merci pour ta réponse super rapide, je vais essayer ton code.
ps : merci pour le Tips pour mettre les codes en couleur comme il faut :)
0
Sha-Ke Messages postés 3 Date d'inscription mardi 25 septembre 2018 Statut Membre Dernière intervention 25 septembre 2018
25 sept. 2018 à 21:57
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
}
?>
0