IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Multiple submit et .load() [AJAX]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 73
    Par défaut Multiple submit et .load()
    Bonsoir,

    je vous sollicite car j'ai un petit problème a résoudre.

    J'ai un 'form' avec 2 'submit' un pour supprimer et l'autre pour modifier via la fonction load de jquery.

    quand je clique la première fois sur un des 2 submit cela fonctionne bien. mais la deuxième fois rien...

    - Je récupéré bien l'id du submit a chaque clique. mais rien ne s'affiche dès la deuxième fois

    - J'ai changé les submit par des buttons en gardant et en supprimant la balise form. mais rien ne s'affiche dès la deuxième fois

    - J'ai essayé un append texte a la place du load. mais rien ne s'affiche dès la deuxième fois

    Alors j'ai un peu farfouillé le net mais je ne trouve rien alors je me dis que cela viendrait de mon code.

    HTML :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <div class="table">
    	<form action="galerie" method="POST" id="gestGal">
    		<div class="tableHead">
    			<span>Selection</span>
    			<span>Nom de la Galerie</span>
    			<span>Description</span>
    			<span>Action</span>
    		</div>
    		<div class="tableBody">
    			<?php $b = $pdo->findAll(); foreach ($b as $k) : ?>
    			<div class="tableBodyElem">
    				<span>
    					<div class="checkContent">
    						<label for="elem">
    							<div class="boxes">
    								<input type="checkbox" id="elem_<?= $k->id;?>" name="check[]" value="<?= $k->id;?>"/>
    								<label for="elem_<?= $k->id;?>" value="<?= $k->id;?>"></label>
    							</div>
    						</label>
    					</div>
    				</span>
    				<span><?= $k->title;?></span>
    				<span><?= $k->description;?></span>
    				<span class="tableIcons">
    					<img src="media/design/img/modif.png" alt="modifier" class="modifImg" data="<?php  echo $k->id; ?>">
    					<img src="media/design/img/suppr.png" alt="supprimer" class="supprImg" data="<?php  echo $k->id; ?>">
    				</span>
    			</div>
    		<?php endforeach; ?>
    	</div>
    	<div class="tableFooter">
     
    		<span class="inputSub">
    			<input type="submit" name="suppr" id="suppr" value="suppprimer" class="subs">
    			<input type="submit" name="modif" id="modif" value="modifier"  class="subs">
    		</span>
    	</div>
    </form>
    </div>

    JQUERY
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    jQuery(function($) {
    	$("#ajax_applat").click(function(){
    		$(".ajax").fadeOut("fast",function(){
    			$(this).empty();
    		});
    	});
     
    	$(".ajax").hide();
     
    	$(".subs").on('click',function(event) {
    		$("#ajax_content").empty();
    		var subId       = event.target.id;
    		var parent      = $(this).parents("form");
    		var elemChecked = parent.find('checkbox');
    		var elemId      = [];
    		parent.find("input[type=checkbox]:checked").each(function() {
    			elemId.push($(this).val());
    		});  
    		if (subId == 'suppr') {
    			console.log('suppr');
    			var action      = "/echo/html/";
    			if (elemId === null){elemId = "Pas de fichier selectionné";}else{
    				$(".ajax").fadeIn('fast');
    				$("#ajax_content").append("check : "+elemId);
    			}
    		}else if (subId == 'modif') {
    			console.log('modif');
    			 var action      = "/echo/html/";
    			 if (elemId === null){elemId = "Pas de fichier selectionné";}else{
    			 	$(".ajax").fadeIn('fast');
                     $("#ajax_content").append("check :" +elemId);
    			}
    		};
    		return false;
    	});
     
    });
    j'ai essayé de récupérer les submit par leur id et non pas par leur class mais pareil.

    Merci d'avance pour votre aide.

    Cordialement.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    -var subId = event.target.id; peut être avantageusement remplacé par this.id directement.

    - if (elemId === null) est incorrecte, pour savoir si un Array est vide il te suffit de tester sa length.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 73
    Par défaut
    Merci pour les corrections.

    Je viens d'essayer mais malheureusement cela ne fonctionne toujours pas.

    le pire c'est que je suis sur que c'est un truck bête alors.

    J'oubliais de préciser je suis sous jquery 1.10.2


  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 73
    Par défaut
    j'ai trouvé la source de mon problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $("#ajax_applat").click(function(){
    		$(".ajax").fadeOut("fast",function(){
    			$(this).empty();
    		});
    	});
    Je faisais le "empty" sur ma div principale du coup les div a l’intérieur de la div "ajax" étaient supprimé ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Multiple Submit avec ajax
    Par perace dans le forum AJAX
    Réponses: 3
    Dernier message: 01/06/2011, 13h53
  2. [Prototype] Serialize multiple submit
    Par Hesiode dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 27/05/2009, 20h43
  3. Multiples submit sous IE6
    Par Franckintosh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 23/11/2006, 22h23
  4. [Upload] upload fichiers avec multiple submit
    Par dolf13 dans le forum Langage
    Réponses: 17
    Dernier message: 06/06/2006, 01h20
  5. formulaire a multiple submit
    Par phoeniix07 dans le forum Langage
    Réponses: 5
    Dernier message: 31/05/2006, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo