Modifier la valeur d'un élément pour la récupérer sous forme de formulaire

Résolu
Qd -  
 Qd -
Bonjour,

J'essaie de récupérer les valeurs que l'utilisateur a saisi dans un input texte lorsqu'il ajoute une nouvelle ligne. J'arrive à récupérer une valeur cependant s'il ajoute 2 lignes la valeur de la 1ére ligne est écrasé

Voici le code js :

 $(".btn-new").on('click',function(){
       $("#uploader2").append('<div class="row uploadDoc"><div class="col-sm-4"><div class="docErr">Veillez upload au format pdf, jpg, jpeg, png</div><!--error--><div class="fileUpload btn btn-orange"> <img src="https://image.flaticon.com/icons/svg/136/136549.svg" class="icon2"><span class="upl" id="upload">Parcourir</span><input type="file" name="file[]" class="upload up" accept="image/png, image/jpeg, .pdf" id="up" onchange="readURL(this);" required/><div class="invalid-feedback">Document obligatoire</div></div></div><div class="col-sm-1" id="pos_croix"><a href="#" class="test2"><i class="fas fa-times fa-xs" style="color:red;"></i></a></div><div class="col-sm-6"><input type="text" class="form-control" name="test" placeholder="Veuillez preciser le document que vous ajoutez" required pattern="^[A-Za-z -]+$"><div class="invalid-feedback">Veuillez saisir le document que vous souhaitez ajouter.</div></div></div>');
   });


Là ou ça me pose problème c'est l'élément "name="test" je ne sais pas comment faire pour qu'il arrive à différencier la première ligne par rapport à la deuxième ou même plus ...
Il peut ajouter autant de lignes qu'il le souhaite.

J'espère qu'on pourra m'aider car je ne sais pas comment m'y prendre.

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Ton souci est de récupérer le contenu de tes champs lors du submit de ton formulaire ?
    Donc, déjà, au niveau du Name tu peux faire
    name="test[]" 
    

    Ensuite, niveau php, il ne te restera plus qu'à boucler dessus.

    1
  2. Qd
     
    Merci beaucoup j'étais resté bloquer sur la syntaxe en js alors que pour le coup il fallait le nommer correctement en HTML.

    Au niveau de PHP j'ai réussi à faire le traitement voulu je laisse une partie du code si jamais quelqu'un tombe sur ce sujet :

    // total files
     $countfiles = count($_FILES['file']['name']);
    
     for($i=0;$i<$countfiles;$i++){
    
      // Recuperer les infos postées
      $description = $_POST["test"][$i];
    
      $filename = $_FILES['file']['name'][$i];
     
      // Upload file
      move_uploaded_file($_FILES['file']['tmp_name'][$i],'img_tmp/'.$_GET["user_id"].'-'.$filename);
    
      $img_blob[$i]   = '';
    
      $img_nom[$i]  = $_GET["user_id"]."-".$filename;  
    
      $img_blob[$i] = file_get_contents ("./img_tmp/".$img_nom[$i]);
    
      // Requete
      $sql = <<<SQL_STATEMENT
      INSERT INTO img (img_id,img_nom,img_blob,img_date,img_description) VALUES (:user_id,:img_nom$i, :img_blob$i, NOW(), :description);
      SQL_STATEMENT;
    
      $requete = $pdo->prepare($sql);
      $requete->setFetchMode(PDO::FETCH_ASSOC);
      $requete->bindParam(":img_nom$i", $img_nom[$i]);
      $requete->bindParam(":img_blob$i", $img_blob[$i]);
      $requete->bindParam(':user_id', $_GET['user_id']);
      $requete->bindParam(":description", $description);
      $requete->execute();
      $requete->closeCursor();
    
     }
    
    0