jQuery

Newsletter : dupliquer ou retirer au clic

Non Résolu

Bonsoir, je crois que ça doit se passer en JS , si c'est en php je suis désolé .


Ce que je souhaite faire est trés compliqué pour moi mais peut êtres certains ont déjà eu le soucis.


J'ai un désign, avec des champs input ainsi que des variable.



J'aimerais ajouter deux boutons : un bouton + et un bouton - . Le but etant que si je clique sur le bouton + ça me rajoute un désigne que je peux remplir en plus de mon premier, si je click une seconde fois ça m'en rajoute un autre ( etc etc ) sur la même page .ce qui donnerait du coup


je viens d'appuyer sur le bouton +



et une seconde fois sur le bouton +




ça, c'est le premier soucis. (évidemment si j'appuie sur le bouton ( - ) ça enleve au lieu d'en rajouter un :d


le second c'est de creer de nouvelles variables pour ajouter les données dans ma base de donnée.


et le dernier soucis est de creer les champs dans ma base de donnée en sachant que j'ignore combien il y aura de click sur le bouton +.


Merci de m'aider

576 vues
25 août 2020 à 8:03 (Édité)
Cette pub permet au site de vivre ...

5 commentaires

Re:


Très bien ! 😉

Avec JQuery c'est encore plus simple, voilà un article qui te montre comment supprimer un élément du DOM.

Je pense que tu auras compris que c'est le même concept pour ajouter un élément 😉

Bonjour @Jerem971.


J'ai déplacé le code car je compte en effet travailler avec jquery. Désolé pour l’erreur.


Du coup ta page c'est ce qui m'interesse mais plutot en jquery s'il te plait.


Ceci dis j'ai trouvé ça :


var counterplus = 0;

$(document).ready(function(){
	$(this).on("click",".add_more_courses",function(){
		counterplus++;
		 
		var html = '<div><div class="NEWSLETTERS___intro NEWSLETTERS___fond"><div class="NEWSLETTERS___intro_text"></div></div><div style="background:black; color:white; wight:1em; height:1em;" id="theCount"></div>';

		html += '<button class="remove_courses_btn">suprimer</button></div>';

		$(".courses_inputs_div").after(html);
		$("#theCount").text(counterplus);
		
	});

	//suprimer l'élement lié au bouton cliqué
	$(this).on("click",".remove_courses_btn",function(){
		
		var target_input = $(this).parent();
			target_input.remove();
	});
});


Qu'est ce que tu en penses ?

Re:


Tu comptes travailler en JQuery ou en JavaScript ? 🤔

Là tu m'as envoyé du code JQuery... dans la catégorie JS !

Il faut que tu choisisses de travailler avec l'un ou l'autre mais pas les deux !

Si tu comptes travailler avec JavaScript, ce cours t'expliquera comment ajouter, modifier ou supprimer des éléments du DOM 😉

Bonjour @Jerem971


Merci beaucoup pour les deux pages que tu m'as donné.


La première est a peu pret dans ma recherche. Mais c'est plus ce que je poste juste en dessous de cette phrase que je cherche, pour ajouter un désign complet avec les champs inclus dedans:


<section id="NEWSLETTERS">
	<div class='aremplir'></div>
</section>

<button type='button' id='ajouter'>Ajouter</button>
<button type='button' id='suprimer'>suprimer</button>

<script src='//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js'></script>
<script type='text/javascript'>
jQuery(function($)
{
 
  $('#ajouter').click(function(e)
  {
      e.preventDefault();
      var content ="<div class='NEWSLETTERS___coeur NEWSLETTERS___fond'></div>";
      $('.aremplir').append(content);
    
  });
 
});
</script>


Ca fonctionne trés bien, mais pour retirer un ajout en trop par contre je ne sais pas comment faire. J'ai été voir justement avec la fonction "remove()" mais je ne sais pas comment l'adapter.


La ou ça me pose soucis pour la suite c'est qu'en cliquant sur le bouton + pour ajouter un champ, il faudrait aussi que ça créer une autre variable automatiquement. Je pense que ça se fait avec de l'incrémentation mais comment? ça , je ne sais pas .


par exemple :


<?php
$nom = get_safe_value($con,$_POST['nom']);
  
?><input type="text" class="form-control" name="nom" placeholder="nom"/>


j'appuie sur le bouton ( + )


<?php
$nom = get_safe_value($con,$_POST['nom']);
$nom2 = get_safe_value($con,$_POST['nom2']);
  
?><input type="text" class="form-control" name="nom" placeholder="nom"/><input type="text" class="form-control" name="nom2" placeholder="nom2"/>


(pour que ça me créer un champ input, avec un nouveau "name" et une nouvelle variable associée).


La seconde concerne l'insertion de données mais ça c'est bon (ou alors je n'ai pas forcément compris la leçon).

Hello @Dieunel,


Tout d'abord, pour réaliser cela, as-tu suivis un tutoriel vidéo ou un article en particulier ? 🤔

Pour ajouter ou supprimer un élément en JavaScript, je pense que cet article t'aidera 😉

Pour insérer des données dans ta base de données, as-tu lu le cours d'OpenClassrooms ? 🤔


Dans l'attente de ton retour 😉

Cette pub permet au site de vivre ...