11484 sujets

JavaScript, DOM et API Web HTML5

salut a tous,

J'utilise prototype et window pour afficher des "popup" non intrusives via des div.

Seulement voila, il est très facile de les ouvrir mais alors pour les fermer...

En gros je l'ouvre avec ça :
function inscription()
{
	var win = new Window('inscrip',{className: "alphacube", title: "", width:500, height:300, opacity:0.90, url: "inscription.php", destroyOnClose:true, showEffectOptions: {duration:1.5}});
	win.showCenter(); 
}


Et je ne parviens pas a la fermer (depuis la popup ouverte et non par la page qui a lancé l'ouverture de cette pop)
J'ai pourtant épluché la doc sur le site officiel et cherché des exemples, etc, mais en vain...:?

( Smiley url http://prototype-window.xilinus.com/documentation.html#addObserver[/url])

J'ai besoin d'un petit peu d'aide^^

Merci a vous Smiley cligne
Modifié par xlight (31 Oct 2008 - 19:50)
Peut-être la méthode destructor ?

Ce qui donnerait :


var win;

function inscription()
{
	win = new Window('inscrip',{className: "alphacube", title: "", width:500, height:300, opacity:0.90, url: "inscription.php", destroyOnClose:true, showEffectOptions: {duration:1.5}});
	win.showCenter(); 
}

function fermer()
{
	win.destroy();
}


Et suffit d'appeler la fonction fermer().
Pas testé mais ça devrait ressembler à ça Smiley cligne
alors en fait après pas mal de recherche, j'ai trouvé comment faire: il faut utiliser le mot clé "parent" pour pouvoir fermer cette popup virtuelle^^

et la méthode win.close(Idfenetre) suffit Smiley smile
Bonjour,

J'ai essayé d'intégrer cette fonction javascript dans ma page.

J'ai collé le script comme ça :

<script type="text/javascript">
	var win;

	function inscription(){
		var win = new Window('inscrip',{className: "alphacube", title: "", width:500, height:300, opacity:0.90, url: "includes/inscription.php", destroyOnClose:true, showEffectOptions: {duration:1.5}});

		win.showCenter(); 
	}
</script>


et je l'appelle comme ça :

<a href="#" onclick="inscription()">Créer un compte</a>


Mais ça ne fonctionne pas ...

Code complet (c'est un include) :

<div id="menu">
	
	<script type="text/javascript">
	var win;
	
	function inscription(){
		var win = new Window('inscrip',{className: "alphacube", title: "", width:500, height:300, opacity:0.90, url: "../includes/inscription.php", destroyOnClose:true, showEffectOptions: {duration:1.5}});
		win.showCenter(); 
	}
	</script>
	
	<?php
		function form_connection(){
			echo '
				<form method="POST" action="scripts/connection.php" enctype="multipart/form-data">
					<p>Se connecter :<br/>
					<input type="text" name="login" title="Identifiant"/><br/>
					<input type="password" name="password" title="Mot de passe"/><br/>
					<input type="submit" value="Valider"/><br/>
					<i><a href="#" onclick="inscription()">Créer un compte</a></i>
				</form>
			';
		}
		
		if(isset($_SESSION["login"])){
			$login=$_SESSION["login"];
			$password=$_SESSION["password"];
			$sql="SELECT login, password FROM User WHERE login='$login' AND password='$password'";
			$check=mysql_fetch_assoc($req);
			
			if(empty($check)){
				echo '<p style="color:red;">Mauvais login ou mot de passe</p>';
				form_connection();
			}
			
			else{
				echo '<p style="font-weight:bold;">Bonjour'.$_SESSION["login"].'</p><br/>
					<p><a href="#">Mon tableau de bord</a></p>
				';
			}
				
		}
		
		else{
			form_connection();
		}
	?>
</div><!-- Menu -->


Merci d'avance Smiley smile
Modifié par testu (05 Feb 2009 - 13:17)
avant toute chose, vérifie l'include des librairies prototype et window et des CSS !

Ensuite, dans ta page que tu appelles, contentes toi de voir si elle l'ouvre effectivement, peut importe le contenu...

Fait une simple popup modale de test pour commencer...



function ouvre()
{
	
	Dialog.info("BLABLALALLA",{className: "alphacube",closable:true, title: "Mon titre", width:300, height:100});
}


sur le même modèle que ton lien précédement mis: <a href="#" onclick="ouvre()">Créer un compte</a>