Statistiques| Inscription| Espace privé
Développement Web
Accueil > Javascript > dialoguer avec sa fille
Le plan Les galeries
Dernière mise à jour :
vendredi 15 mai 2009
Contact
Webmestre
olivier ramos
ParamSPIP
Agenda
<<   Avril 2024   >>
Lu Ma Me Je Ve Sa Di
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 1 2 3 4 5



Le code javascript de la mère
 
 
 
 

Les codes javascript liés aux fenêtres de la mère et de la fille, sont de bons exemples pour comprendre :
- l’utilisation des chemins hiérarchiques permettant d’accéder à un objet afin de modifier ses propriétés, 
- la programmation événementielle. Dans le cas considéré, un événement qui survient dans une fenêtre produit un changement immédiat d’un objet de l’autre fenêtre.

// Au chargement de la page.
window.onload=initialisation;

function initialisation() {
// Charge les options par défaut.
debut();
// Initialise les gestionnaires d'événements de tous les éléments du formulairewebdev.
document.getElementById("formulairewebdev").nom.onkeyup=function(){traiter_info1(this.value)};
document.getElementById("formulairewebdev").prenom.onkeyup=function(){traiter_info2(this.value)};
document.getElementById("formulairewebdev").secret.onkeyup=function(){traiter_info5(this.value)};
document.getElementById("homme").onclick=function(){traiter_info3(this.value)};
document.getElementById("femme").onclick=function(){traiter_info3(this.value)};
document.getElementById("loisir").onclick=function(){
// traiter_info6(this.value)}; est valable avec firefox, mais pas avec internet explorer.
traiter_info6(document.getElementById("loisir").options[document.getElementById("loisir").selectedIndex].text)
};
document.getElementById("formulairewebdev").francais.onclick=function(){traiter_info7(this.value)};
document.getElementById("formulairewebdev").anglais.onclick=function(){traiter_info7(this.value)};
document.getElementById("formulairewebdev").allemand.onclick=function(){traiter_info7(this.value)};
document.getElementById("formulairewebdev").espagnol.onclick=function(){traiter_info7(this.value)};
document.getElementById("formulairewebdev").projet.onkeyup=function(){traiter_info4(this.value)};
document.getElementById("enregistrer").onclick=function(){fille()};
document.getElementById("effacer").onmouseup=function(){effacerfille()};
}

// Efface les données de la fenêtre fille (un dixième après avoir effacé les données de la fenêtre mère).
function effacerfille() {
setTimeout("w.debutva()",100);
}

//Les fonctions traiter_info* permettent de transporter les données vers la fenêtre fille.
// *********************************************************************************

function traiter_info1(mot) {
w.document.getElementById("formulairewebdev").nomva.value=mot;
}
function traiter_info2(mot) {
w.document.getElementById("formulairewebdev").prenomva.value=mot;
}
function traiter_info3(mot) {
// w.document.getElementById("genre").value="Monsieur"; fonctionne avec firefox mais pas avec internet explorer.
if (mot=="un homme"){w.document.getElementById("genre").options[0].selected=true;}
if (mot=="une femme"){w.document.getElementById("genre").options[1].selected=true;}
}
function traiter_info4(texte) {
w.document.getElementById("formulairewebdev").projet.value=texte;
}
function traiter_info5(mot) {
w.document.getElementById("formulairewebdev").secretva.value=mot;
}
function traiter_info6(mot) {
if (mot=="informatique"){ w.document.getElementById("informatique").checked=true;}
if (mot=='sport'){ w.document.getElementById("sport").checked=true;}
if (mot=="cinéma"){ w.document.getElementById("cinéma").checked=true;}
if (mot=="musique"){ w.document.getElementById("musique").checked=true;}
}
function traiter_info61() {
alert('info61');
w.document.getElementById("sport").selected=true;
}
function traiter_info7(mot) {
if (mot=="francais"){ w.document.getElementById("formulairewebdev").francais.checked=document.getElementById("formulairewebdev").francais.checked;}
if (mot=="anglais"){ w.document.getElementById("formulairewebdev").anglais.checked=document.getElementById("formulairewebdev").anglais.checked;}
if (mot=="allemand"){ w.document.getElementById("formulairewebdev").allemand.checked=document.getElementById("formulairewebdev").allemand.checked;}
if (mot=="espagnol"){ w.document.getElementById("formulairewebdev").espagnol.checked=document.getElementById("formulairewebdev").espagnol.checked;}
}
// *********************************************************************************

// Ouvre la fenêtre fille.
function fille(){
w=self.window.open('fille.html',"Fiche_de_renseignements","menubar=no, status=no, scrollbars=no, menubar=no, width=450, height=300");
}

// Les options par défaut.
function debut(){
document.getElementById("formulairewebdev").nom.value="";
document.getElementById("formulairewebdev").prenom.value="";
document.getElementById("formulairewebdev").secret.value="";
document.getElementById("homme").checked=true;
// document.getElementById("formulaire").loisir.value="informatique"; fonctionne avec firefox mais pas avec internet explorer.
document.getElementById("informatique").selected=true;
document.getElementById("formulairewebdev").francais.checked=true;
document.getElementById("formulairewebdev").anglais.checked=false;
document.getElementById("formulairewebdev").allemand.checked=false;
document.getElementById("formulairewebdev").espagnol.checked=false;
document.getElementById("formulairewebdev").projet.value="";
}