Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 24 févr. 2006 à 18:29
Il n'y a pas vraiment de fonction du genre sleep comme en PHP, mais tu peux utiliser les fonction setTimeout("fonction()",1000) ou setInterval("fonction()",1000). La première fonction vas exécuter le code dans le laps de temps donne en 2e paramètre et la deuxième fonction, exécuter la commande à tout les x millisecondes.
cs_AbriBus
Messages postés492Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention25 avril 20075 24 févr. 2006 à 09:57
Ha oui, autant pour moi... Désolé pour steveurcle... (la remarque reste valable puisqu'indépendante de l'auteur).
En effet, le probleme que tu souleve est le VRAI probleme de ma fenetre modale... que la fenetre conserve le focus ne m'interresse que modérément. Il me faut par contre, en effet, une fenetre qui me retourne une valeur, chose que je ne peux pas faire avec l'instruction open (accessoirement, une fenetre modale suspend l'execution du code, fut-ce en HTML... si seulement cela m'etait possible, je ferais un algo du type:
Variant FenetreModale C'EST:
TANT QUE maFenetre.ouverte = VRAI ALORS
ATTEND 1 seconde
FIN TANT QUE
RETOURNE maFenetre.valeurChoisie
FIN FenetreModale
sauf que je sais pas s'il y a une fonction en javascript qui me permet de suspendre le code pendant un laps de temps donné (ici, ligne "ATTEND 1 seconde"))
cs_FraGag
Messages postés81Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention18 avril 2008 24 févr. 2006 à 07:13
AbriBus -> J'ai vu il n'y a pas longtemps ce code tout simple quelque part, à mettre dans la page qui doit être modale :
...
...
...
Quand la fenêtre perd le focus (est "blurrée"...), on lui redonne le focus. Il suffit donc de simplement appeler window.open() pour ouvrir cette fenêtre qui gardera le focus tant qu'elle sera affichée. Par contre, je crois que showModalWindow() ne retourne que quand la fenêtre est fermée, alors que open() retourne tout de suite. Alors, si la fenêtre qui affiche la fenêtre "modale" doit retrouver une valeur de celle-ci, il faudrait plutôt que la fenêtre modale envoie elle-même les données à la fenêtre appelante.
Quand tu a dit "FraGag> Malgrés la qualité de ton src, ...", tu ne te serais pas trompé ? C'est steveurcle l'auteur, moi je ne fais que corriger et donner des solutions alternatives... :)
cs_AbriBus
Messages postés492Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention25 avril 20075 23 févr. 2006 à 15:08
Salut a tous,
j'ai decouvert la commande window.showModalDialog il y a quelque dizaines de minutes et je croyais bien que ca serait l'apotéose car c'est exactement ce que je cherchais a faire...
Mais comme chacun sait, chaque medaille a son revers, voici donc le travers que j'ai decouvert sur cette fonction...:
window.showModalDialog ne fonctionne QUE sur IE4.0 ou +... ce qui n'inclu pas nottament FireFox.
Voila le lien de chez billou qui parle de cette fonction:
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/showmodaldialog.asp
Quelqu'un aurait-il une alternative a ce probleme ?
FraGag> Malgrés la qualité de ton src, je ne met pas de note car j'ai pas trouvé la solution a mon probleme... mais c'est de bonne qualité.
AbriBus
cs_FraGag
Messages postés81Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention18 avril 2008 18 déc. 2005 à 23:07
Arto_8000 -> Au contraire, c'est bel et bien standard. Si je regarde dans le DTD Strict du HTML 4.01, on voit :
<!ELEMENT P - O (%inline;)* -- paragraph -->
et :
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
ainsi que :
<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
et il n'y a pas un seul form là-dedans (idem pour le HTML 4.0) ! En clair, ça dit qu'on peut mettre des contrôles de formulaires directement dans un paragraphe. Je le savais, parce que j'ai déjà validé des documents avec des sans <form>... C'est pas pour être méchant, hein... De toutes façons, il manque l'attribut « action » aux <form>s.
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 18 déc. 2005 à 19:17
FraGaG -> Bien sur que ça peut s'afficher sans les balises form, mais c'est pas du tout selon les normes w3c.
steveurcle -> Tu peux remplacer
window.document.forms['testModalForm'].elements['selectTest'].value
par :
window.document.testModalForm.selectTest.value;
DjZebulon
Messages postés19Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention12 décembre 2005 12 déc. 2005 à 12:33
Bonjour,
Code tres interressant pour moi, j'ai simplment un petit probleme (qui est bete, mais la tête dans le brouillard), j'ai un input text en plus sur la fenetre appelante et je voudrais avoir un champ a completer sur la deuxième fenetre qui renvois sa value au champs sur appelant §§
Pas tres claire mais simple je pense
Merci
Stef
cs_johann1
Messages postés170Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention 9 janvier 2008 9 déc. 2005 à 12:57
Sympa steveurcle ... C'est intéressant je trouve!
Bonne continuation!
cs_FraGag
Messages postés81Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention18 avril 2008 9 déc. 2005 à 01:51
Trois problèmes :
1- Pas nécessaire de mettre "javascript:" dans les attributs d'événements (onclick, onload), seulement dans les liens hypertexte.
2- Il manque un t à « dialogHeight ».
3- Ce n'est pas nécessaire d'entourer les champs de formulaire dans un formulaire (<form>), ils peuvent vivre sans <form> ! En plus, ça allonge le code inutilement.
Pour ceux qui n'auraient rien dans le pop-up, vérifiez l'extension (il faut .html, moi je mets toujours .htm). C'est dommage que ça ne fonctionne que sous Internet Explorer (showModalDialog n'est pas standard, je crois).
24 févr. 2006 à 18:29
24 févr. 2006 à 09:57
En effet, le probleme que tu souleve est le VRAI probleme de ma fenetre modale... que la fenetre conserve le focus ne m'interresse que modérément. Il me faut par contre, en effet, une fenetre qui me retourne une valeur, chose que je ne peux pas faire avec l'instruction open (accessoirement, une fenetre modale suspend l'execution du code, fut-ce en HTML... si seulement cela m'etait possible, je ferais un algo du type:
Variant FenetreModale C'EST:
TANT QUE maFenetre.ouverte = VRAI ALORS
ATTEND 1 seconde
FIN TANT QUE
RETOURNE maFenetre.valeurChoisie
FIN FenetreModale
sauf que je sais pas s'il y a une fonction en javascript qui me permet de suspendre le code pendant un laps de temps donné (ici, ligne "ATTEND 1 seconde"))
24 févr. 2006 à 07:13
...
...
...
Quand la fenêtre perd le focus (est "blurrée"...), on lui redonne le focus. Il suffit donc de simplement appeler window.open() pour ouvrir cette fenêtre qui gardera le focus tant qu'elle sera affichée. Par contre, je crois que showModalWindow() ne retourne que quand la fenêtre est fermée, alors que open() retourne tout de suite. Alors, si la fenêtre qui affiche la fenêtre "modale" doit retrouver une valeur de celle-ci, il faudrait plutôt que la fenêtre modale envoie elle-même les données à la fenêtre appelante.
Quand tu a dit "FraGag> Malgrés la qualité de ton src, ...", tu ne te serais pas trompé ? C'est steveurcle l'auteur, moi je ne fais que corriger et donner des solutions alternatives... :)
23 févr. 2006 à 15:08
j'ai decouvert la commande window.showModalDialog il y a quelque dizaines de minutes et je croyais bien que ca serait l'apotéose car c'est exactement ce que je cherchais a faire...
Mais comme chacun sait, chaque medaille a son revers, voici donc le travers que j'ai decouvert sur cette fonction...:
window.showModalDialog ne fonctionne QUE sur IE4.0 ou +... ce qui n'inclu pas nottament FireFox.
Voila le lien de chez billou qui parle de cette fonction:
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/showmodaldialog.asp
Quelqu'un aurait-il une alternative a ce probleme ?
FraGag> Malgrés la qualité de ton src, je ne met pas de note car j'ai pas trouvé la solution a mon probleme... mais c'est de bonne qualité.
AbriBus
18 déc. 2005 à 23:07
<!ELEMENT P - O (%inline;)* -- paragraph -->
et :
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
ainsi que :
<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
et il n'y a pas un seul form là-dedans (idem pour le HTML 4.0) ! En clair, ça dit qu'on peut mettre des contrôles de formulaires directement dans un paragraphe. Je le savais, parce que j'ai déjà validé des documents avec des sans <form>... C'est pas pour être méchant, hein... De toutes façons, il manque l'attribut « action » aux <form>s.
18 déc. 2005 à 19:17
steveurcle -> Tu peux remplacer
window.document.forms['testModalForm'].elements['selectTest'].value
par :
window.document.testModalForm.selectTest.value;
12 déc. 2005 à 12:33
Code tres interressant pour moi, j'ai simplment un petit probleme (qui est bete, mais la tête dans le brouillard), j'ai un input text en plus sur la fenetre appelante et je voudrais avoir un champ a completer sur la deuxième fenetre qui renvois sa value au champs sur appelant §§
Pas tres claire mais simple je pense
Merci
Stef
9 déc. 2005 à 12:57
Bonne continuation!
9 déc. 2005 à 01:51
1- Pas nécessaire de mettre "javascript:" dans les attributs d'événements (onclick, onload), seulement dans les liens hypertexte.
2- Il manque un t à « dialogHeight ».
3- Ce n'est pas nécessaire d'entourer les champs de formulaire dans un formulaire (<form>), ils peuvent vivre sans <form> ! En plus, ça allonge le code inutilement.
Pour ceux qui n'auraient rien dans le pop-up, vérifiez l'extension (il faut .html, moi je mets toujours .htm). C'est dommage que ça ne fonctionne que sous Internet Explorer (showModalDialog n'est pas standard, je crois).