Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/01/2012, 16h37   #1
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 75
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : janvier 2007
Messages : 75
Points : 17
Points : 17
Par défaut jQuery Fermer fancybox depuis son contenu

Bonjour, je suis actuellement en galère :

Sur ma page principale j'ai un lien qui me permet d'ouvrir un formulaire dans une fancy box (ce n'est pas un iframe mais juste un div qui contient le formulaire). je valide mon formulaire en ajax, et lorsque c'est bon je voudrais que ma fancybox se ferme toute seule comme une grande, mais elle veut pas...

Voila mon code une fois que mon formulaire est validé :
Code :
1
2
3
4
5
success:function(msg){
					if(msg=="OK"){
						parent.jQuery.fn.fancybox.close();
					}
				}
j'ai également essayé :
- parent.$.fancybox.close()
- $.fancybox.close()
mais rien n'y fait firebug me sort toujours cette foutu erreur :
Code :
1
2
3
parent.jQuery.fn.fancybox is undefined
http://xxxx.com/js/jquery.js
Line 41
Quelqu'un à t'il une idée? La je sèche donc si vous avez une idée...
merci d'avance

PS: si je met un alert à la place de mon fancybox.close() le alert s'affiche bien...
fabienlege est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 17h28   #2
Expert Confirmé Sénior
 
Avatar de denisC
 
Inscription : février 2005
Messages : 4 069
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2005
Messages : 4 069
Points : 4 698
Points : 4 698
As tu essayé quelque chose du style
Apparement oui Quelle est l'erreur dans ce cas? Est-ce que tu peux poster en attachement ta page complete?
denisC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 10h01   #3
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 75
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : janvier 2007
Messages : 75
Points : 17
Points : 17
L'erreur est la même dans tous les cas...

Il y à prés de 700 lignes de codes pour cette page donc je vais te mettre que ce que (je pense) il est utile de voir, tu me dit si il manque quelquechose ...

1. La page principale :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script type = "text/javascript">
$(document).ready(function() {
		// FancyBox
		fb = $("a.lienConfig").fancybox();
[...]
}
</script>
 
foreach($prog->getPartenaires() as $part){
				echo '<tr class="'.$prog->getClass($part['dateFin']).'">
					<td class="avatar"><img alt="logo non disponible" src="'.($part['logo']!='' ? WWWROOT.'/upload/logos/'.$part['logo'] : WWWROOT.'/css/'.ID_UTIL.'/imgCommun/noPics.png').'"</td>
					<td>'.$part['prenom'].' '.$part['nom'].'</td>
					<td>'.($part['dateDeb']!='' ? dateTimeFr($part['dateDeb']) : "Aucun mandat").'</td>
					<td>'.($part['dateDeb']!='' ? dateTimeFr($part['dateFin']) : "Aucun mandat").'</td>
					<td><a href="'.WWWROOT.'/box/configMandat.php?idUser='.$part['id'].'&idProjet='.$prog->get('id').'" alt="Cliquez ici pour modifier les condition du mandat avec ce partenaire" class="lienConfig">Configurer</a></td>
				</tr>';
			}
2. la page contenue dans la fancybox :
La fonction sub est appellé sur onsubmit du formulaire de cette page
Code :
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
function sub(){
		$("p#msgErreur,#valider").hide(500);
		$("#patientez").show(500);
		initValide = $("#valider").val();
		$("#valider").val("Patientez ...");		
		$("#tauxCom").val($("#tauxCom").val().replace(',','.'));
		var erreur = false;
		if(!$("#dateDeb").val().match(/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/)){
			$("#dateDeb").addClass("error");
			$("#dateDeb").click(function(){$("#dateDeb").removeClass("error");})
			erreur=true;
		}
		if(!$("#dateFin").val().match(/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/)){
			$("#dateFin").addClass("error");
			$("#dateFin").click(function(){$("#dateFin").removeClass("error");})
			erreur=true;
		}
		if(!$("#tauxCom").val().match(/^[0-9]{1,3}\.?[0-9]{0,2}$/) ||*$("#tauxCom").val()>100){
			$("#tauxCom").addClass("error");
			$("#tauxCom").click(function(){$("#tauxCom").removeClass("error");})
			erreur=true;
		}
		if(!erreur){
			$.ajax({
				type: "POST",
				url:  "<?php echo WWWROOT; ?>/ajax/saveMandat.php",
				data: "idUser=<?php echo $m->get('idUser');?>&idProgramme=<?php echo $m->get('idProgramme');?>&dateDeb="+$("#dateDeb").val()+"&dateFin="+$("#dateFin").val()+"&tauxCom="+$("#tauxCom").val()+"&isTTC="+$("#isTTC").val(),
				success:function(msg){
					if(msg=="OK"){
						parent.jQuery.fn.fancybox.close(); // <== Ici ça ne marche pas
					}
				}
			});
		}
		else{
			$("p#msgErreur,#valider").show(500);
			$("#patientez").hide(500);
		}
	}
Merci
fabienlege est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 22h18   #4
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Code :
1
2
3
4
5
6
7
8
success:function(msg){
	alert(msg); // debug, résultat ?
 
	if(msg=="OK"){
		// pas jQuery mais $ vu le contexte de votre code
		parent.$.fn.fancybox.close();
	}
}
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 09h54   #5
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 75
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : janvier 2007
Messages : 75
Points : 17
Points : 17
Comme je l'est dit dans mon premier message, Le msg retourné est bon vus qu'un alert dans le if s'ouvre sans problème... et puis je n'aurais pas d'erreur dans firebug si cette ligne n'était pas appelée...

Le problème ne viens donc pas de cette condition...

Personne n'a jamais rencontrer ce problème?

Merci
fabienlege est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 17h35   #6
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 75
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : janvier 2007
Messages : 75
Points : 17
Points : 17
Bonjour, j'ai trouver d'où venait mon problème :
dans le fichier qui était inclus dans ma fancybox refait les inclusions de tous mes fichiers javascript et css, mais comme ce n'est pas un iframe il ne fallait pas que je réincluse ces fichiers.

Merci a tous ceux qui m'on apporté leur aide dans la résolution de ce problème...
fabienlege est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h17.


 
 
 
 
Partenaires

Hébergement Web