MessageBox

Messages postés
492
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
25 avril 2007
- - Dernière réponse : cs_AbriBus
Messages postés
492
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
25 avril 2007
- 24 févr. 2006 à 10:19
Salut a tous,
Je cherche a faire une messagebox un peu particuliere...
L'objectif est de ne pas utiliser ni le alert(msg); ni le confirm(msg); de javascript mais de les remplacer par une page HTML (bien plus personnalisable). La ou un probleme se pose, c'est pour rendre la fenetre modale... a la limite la modalité de la fenetre n'est pas si importante, mais par contre, je n'ai aucune idée de comment je vais pouvoir passer ne serait-ce qu'un booleen de la fenetre messagebox a la fenetre appellante... une idée ?

Merci d'avance...
AbriBus
Afficher la suite 

8 réponses

Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
0
Merci
Bonjour,

de nombreuses réponses déjà sur le sujet.
à mon avis ( qui ne vaut pas grand chose
mais bon c'est mon avis ) le mieux est un
div/span... caché que l'on révèle lorque
c'est nécessaire.

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Commenter la réponse de cs_bultez
Messages postés
492
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
25 avril 2007
5
0
Merci
Salut bultez,
le probleme du div/span c'est que ca ne regle pas mon probleme du retour de l'information a la page appellante... (ou en tout cas je ne vois pas vraiment comment... peux tu m'éclairer ?

AbriBus
Commenter la réponse de cs_AbriBus
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
0
Merci
Bonjour,
ben justement...
avec un div/span, y'a pas de page appelante,
c'est la même page ! et on y gère les objets/
evênements... comme tels.
un ch'tit exemple :

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>

fermer

http://www.javascriptfr.com/forum.v2.aspx?ID=671085">la question


montrer



</HTML>

et dans ce div, on s'adresse aux élements de la page "normalement"
on peut bien entendu jouer avec style.top et style.left...
pour mettre le div où l'on veut, pourquoi pas pas très loin
de là où l'on a cliqué avec la souris pour ouvrir ?
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>

</FO>
</S< body>
Commenter la réponse de cs_bultez
Messages postés
492
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
25 avril 2007
5
0
Merci
Ha oui, je vois ce que tu veux dire... haha... c'est ammusant j'y avais pas pensé....
Bon, c'est une bonne idee mais je dois impérativement faire une fenetre a part...
C'est tres dommage car le compportement de mes fenetre devrait etre exactement celui de la fonction showModalDialog mais il est tout autant impératif que ca fonctionne sous FireFox...
Il me semble inconcevable que cette fonction n'existe pas sous FF !!
bien que je commence a desesperer.... (je dois a terme mettre mes messagebox en lieu et place des fonctions alert(''); et confirm(''); expliquant pourquoi je dois avoir des fenetres a part)...
Merci quand meme de la suggestion, qui reste valable dans un contexte un peu plus souple.
Commenter la réponse de cs_AbriBus
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
0
Merci
donc faire un pop-up !?!
auquel on rend la main dès qu'il la perd !
mais : très lourd, gourmand...
et surtout, comme de plus en plus de personnes ( grâce
à de plus en plus de navigateurs ) refusent
les pop-up...
à toi de voir, moi je ne ferais plus comme ça.
quand à FF, tant qu'il n'autorisera pas les
Active'X, je ne peux pas porter de jugement.
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Commenter la réponse de cs_bultez
Messages postés
492
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
25 avril 2007
5
0
Merci
Salut bultez,
Je vois tout a fait ce que tu veux dire... le pop up en question ne sera pas bloqué... il fait parti du cahier des charges... pour la lourdeur du code qui cosiste a rendre la main a la fenetre qui perd le focus, tu as tout a fait raison, d'ailleur cette option a été envisagée mais immédiatement ecarté (pour sa gourmandise, qui comme chacun sait est un peché capital en informatique). Mais que la fenetre soit "Always On Top" finallement n'est qu'un luxe, par contre que la fenetre soit modale est un imperatif. C'est a dire qu'elle DOIT retourner une valeur (exemple de la messagebox Oui/Non, le cheminement du code ne sera pas le meme que l'utilisateur ai choisi l'une ou l'autre des options proposées). En gros, et sans savoir vraiment comment faire, il me faudrait un truc qui s'integre a peut pres avec ceci (parcequ'un court exemple vaut toujours mieux que de longs discourts):

lorsque je met: [appel de la page de confirmation retournant true/false], ceci peut etre une fonction javascript meme complexe, mais au final, il me faudra une valeur de retour...

je suis decu que showModalDialog ne fonctionne pas sur FireFox... car c'est exactement ce qu'il me fallait.
Commenter la réponse de cs_AbriBus
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
0
Merci
Bonjour,

à mon sens, "modale" ne veut pas dire retourner une valeur,
mais "non abandonnable" tant qu'une action n'a pas été réalisée
par l'utilisateur sur cette fenêtre.

quand à retourner une valeur :
un window.open("page","target","paramètres"); est envisagé ?
ce pop-up fait référence à la page qui la créée avec opener :
opener."variable globale javascript", opener."funcion javascript",
opener."balises html"... (bien sûr sans les ").

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Commenter la réponse de cs_bultez
Messages postés
492
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
25 avril 2007
5
0
Merci
pour le retour de la variable, en effet, ce genre d'astuce est envisagé... je suis parvenu a un algo que je vais essayer de mettre en place... le voici:

Variant FenetreModale C'EST:
ValRet C'EST Variant
TANT QUE maFenetre.ouverte = VRAI ALORS
ATTEND 1 seconde
FIN TANT QUE
RETOURNE ValRet
FIN FenetreModale

avec dans la fenetre appellée (celle qui propose les valeurs possible)
window.opener.ValRet = choixUtilisateur

On pourrait ainsi invoquer la commande suivante: onClick='FenetreModale();' //qui retournera une des valeurs {true, 'bonjour', 4, ...}
Commenter la réponse de cs_AbriBus