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

Résolu/Fermé
Qd - 8 mars 2021 à 13:56
 Qd - 8 mars 2021 à 17:14
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.
A voir également:

2 réponses

jordane45 Messages postés 38429 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 février 2025 4 735
8 mars 2021 à 16:47
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
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