par
mcorgnet » 20 mai 2008, 11:02
C'est un peu contraire à tout ce que préconisent les autres sites, pourtant ... De ce que j'en ai lu, ils disent d'utiliser la méthode add, qui est native et faite pour ça.
Je vais néanmoins tenter avec appendChild, on verra.
Edit : Testé avec la méthode appendChild, ça fonctionne toujours sous firefox, mais pas sous IE. Il doit y avoir quelque chose avec la fenêtre parente, mais je ne sais pas quoi ...
Edit (2) :
J'ai tenté quelques modifs, en ajoutant notamment un textarea, et en modifiant sa valeur depuis la popup, ça tourne. Le code :
Code : Tout sélectionner
<script type="text/javascript">
var testArea = window.opener.document.getElementById('test');
testArea.value = 'champ modifie';
var objSelect = window.opener.document.getElementById('secretaire');
var dcm = document.createElement('option');
dcm.text = 'corgnet corgnet';
dcm.value = 60;
objSelect.add(dcm); // IE only
try {
objSelect.add(dcm, null); // standards compliant
alert('ff');
}
catch(ex) {
objSelect.add(dcm); // IE only
alert('ie');
}
window.top.close();
</script>
Par contre, pour le select, ça ne fonctionne toujours pas ...
Edit (3) :
Après beaucoup de recherches, la réponse se trouve ici :
http://forum.hardware.fr/hfr/Programmat ... 2673_1.htm
Il faut appeler une fonction située sur la fenêtre mère, pas la fenêtre enfant. Et ça tourne.
Merci à vous.
C'est un peu contraire à tout ce que préconisent les autres sites, pourtant ... De ce que j'en ai lu, ils disent d'utiliser la méthode add, qui est native et faite pour ça.
Je vais néanmoins tenter avec appendChild, on verra.
Edit : Testé avec la méthode appendChild, ça fonctionne toujours sous firefox, mais pas sous IE. Il doit y avoir quelque chose avec la fenêtre parente, mais je ne sais pas quoi ...
Edit (2) :
J'ai tenté quelques modifs, en ajoutant notamment un textarea, et en modifiant sa valeur depuis la popup, ça tourne. Le code :
[code] <script type="text/javascript">
var testArea = window.opener.document.getElementById('test');
testArea.value = 'champ modifie';
var objSelect = window.opener.document.getElementById('secretaire');
var dcm = document.createElement('option');
dcm.text = 'corgnet corgnet';
dcm.value = 60;
objSelect.add(dcm); // IE only
try {
objSelect.add(dcm, null); // standards compliant
alert('ff');
}
catch(ex) {
objSelect.add(dcm); // IE only
alert('ie');
}
window.top.close();
</script>[/code]
Par contre, pour le select, ça ne fonctionne toujours pas ...
Edit (3) :
Après beaucoup de recherches, la réponse se trouve ici :
http://forum.hardware.fr/hfr/Programmation/HTML-CSS-Javascript/javascript-modifier-deroulante-sujet_52673_1.htm
Il faut appeler une fonction située sur la fenêtre mère, pas la fenêtre enfant. Et ça tourne.
Merci à vous.