Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > fr.comp.lang.javascript > #3000
| From | Gloops <gloops@zailes.invalid.org.invalid> |
|---|---|
| Newsgroups | fr.comp.lang.javascript |
| Subject | Question Oui/Non |
| Date | 2016-07-15 14:48 +0200 |
| Organization | Serveur de salon |
| Message-ID | <nmam3r$a3k$1@usenet.pasdenom.info> (permalink) |
Bonjour tout le monde,
Voici un document HTML d'appel pour test, et une fenêtre popup, pour
poser à l'utilisateur une question à laquelle répondre par oui ou par
non, ce qu'en VB on fait par ret = MsgBox(strQuestion, vbYesNo).
ça fonctionne, sous Firefox sur Windows, je soumets l'ensemble à vos
commentaires pour optimisation, correction d'erreurs de portabilité ou
de lisibilité, autres commentaires ...
Notamment je vois deux questions :
1/ Je peux changer le texte d'un élément Label QuestionToAsk par
this.QuestionToAsk.innerHTML=window.opener.question;
aussi je me serais attendu aussi à pouvoir faire de même avec un bouton,
or là non je dois impérativement utiliser la syntaxe développée :
document.getElementById('Yes').value = strYes;
Est-ce que ça signifie quelque chose qui m'a échappé quant à la
différence entre ces deux contrôles ?
Le fait que dans le premier cas on a affaire à un nœud HTML et dans le
second à un attribut ?
2/ J'ai écrit une fonction à chaque étape :
- dans l'appelant une fonction openPopup pour ouvrir la popup
- dans la popup une fonction à l'ouverture pour traduire les intitulés
- dans la popup une fonction returnfunction pour la fermeture et pour
transmettre les valeurs
- dans l'appelant une fonction followPopup pour exploiter les valeurs
de retour.
Est-il exclu de faire comme dans VB une fonction qui reçoit un intitulé
de question, et qui retourne une valeur de réponse, qu'on pourrait
placer dans l'appelant entre l'instruction à exécuter avant de répondre
à la question, et celle à exécuter après, classiquement un test ?
Il me semble que ça améliorerait la lisibilité. ça aurait du reste sur
le VB l'avantage de plus de souplesse pour les intitulés des boutons.
Je vois qu'après réponse la fenêtre appelante affiche son message un peu
avant que la popup se soit fermée. Serait-il judicieux de mettre une
temporisation à cet endroit ? Le code continuerait-il de s'exécuter une
fois la fenêtre popup vraiment fermée ?
A part ça ma popup met pas loin d'une minute à s'afficher sur ma
machine, mais j'imagine que l'optimisation de cette affaire-là ne relève
pas de Javascript ?
================= TestYesNo.html ============================
<HTML><HEAD>
<TITLE>Test d'appel d'une pop-up</TITLE>
<SCRIPT language="Javascript">
var question;
var ret;
var culture="fr";
function openPopup(arg){
question=arg;
var w = window.open("YesNoQuestion.html", "pop1", "top=150, left=250,
height=250, width=300");
}
function followPopup(){
if(ret)alert("oui");
alert("Fin de traitement openPopup");
}
</SCRIPT>
</HEAD><BODY><form></form>
<input type="button" value="Appel popup" name="call" id="call"
onClick="openPopup('Qu\'est-ce qu\'on dit à la popup ?')" />
</BODY></HTML>
======================= YesNoQuestion.html =========================
<html><head>
<title>Yes/No question</title>
<script language="javascript">
var ret;
function opening()
{
this.QuestionToAsk.innerHTML=window.opener.question;
var strYes = "";
var strNo = "";
switch(window.opener.culture)
{
case "fr":
strYes = "Oui";
strNo = "Non";
break;
default:
strYes = "Yes";
strNo = "No";
}
document.getElementById('Yes').value = strYes;
document.getElementById("No").value = strNo;
}
function returnfunction()
{
window.opener.ret = ret;
this.close();
window.opener.followPopup();
}
</script>
</head>
<body onload="opening();">
<form>
<label id="QuestionToAsk" name="QuestionToAsk">Please allow the
script to ask you a question.</label><br />
<input type="button" value="Yes" name="yes" id="Yes"
onClick="ret=true;returnfunction()" />
<input type="button" value="No" id="No"
onClick="ret=false;returnfunction()" />
</form>
</body>
</html>
Back to fr.comp.lang.javascript | Previous | Next — Next in thread | Find similar
Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-07-15 14:48 +0200
Re: Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-07-15 16:47 +0200
Re: Question Oui/Non SAM <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> - 2016-07-16 15:59 +0200
Re: Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-07-17 01:28 +0200
Re: Question Oui/Non SAM <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> - 2016-07-17 13:10 +0200
Re: Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-07-19 00:15 +0200
Re: Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-07-19 11:03 +0200
Re: Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-07-19 10:56 +0200
Re: Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-08-03 20:41 +0200
Re: Question Oui/Non Guiche <guiche@invalid> - 2016-08-04 07:20 +0200
Re: Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-08-04 22:27 +0200
Re: Question Oui/Non Guiche <guiche@invalid> - 2016-08-05 00:01 +0200
Re: Question Oui/Non Guiche <guiche@invalid> - 2016-08-08 06:22 +0200
Re: Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-08-08 11:59 +0200
Re: Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-08-08 12:20 +0200
Re: Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-07-19 13:17 +0200
Re: Question Oui/Non SAM <stephanemoriaux.NoAdmin@wanadoo.fr.invalid> - 2016-07-22 23:56 +0200
Re: Question Oui/Non Gloops <gloops@zailes.invalid.org.invalid> - 2016-07-23 00:24 +0200
csiph-web