Problème appel fonction avec window.opener

Rouxy0076 Messages postés 1 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 11 mai 2005 - 11 mai 2005 à 10:08
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 11 mai 2005 à 11:54
Salut à tous,

J'ai ma page appelante avec un select que je veux remplir grace à un autre select qui se trouve dans une popup que j'appelle avec ma page appelante. Cependant j'ai une erreur javascript qui se produit et qui me dit en parlant du window.opener : cet objet ne gère pas cette propriété ou cette méthode. Mon code est le suivant :

- page.appelante.asp:
<SCRIPT LANGUAGE="JavaScript">
//***************** Transfert specialite et mot clé vers formulaire ********>
function newOption(oText, oValeur,sChamps) {
if (sChamps=="Specialite"){
s = document.Form_creation_doc.Specialite;
}
if (sChamps=="MotCle"){
s = document.Form_creation_doc.mot_clé;
}
o = new Option(oText, oValeur);
blanc=new Option(s.options[(s.length)-2].text,s.options[(s.length)-2].value);
s.options[s.length] = o;
s.options[s.length-1] = blanc;

}
</script>

[JavaScript: void window.open('popup.asp','Choice_spe','width=700,height=300,left=300,top=50,noresize,scrollbars,status'); Spécialités existantes]

- popup.asp :
<SCRIPT LANGUAGE="JavaScript">
function addToList(){
cho=document.forms.lookForm.Choices;


if (cho.selectedIndex!=-1){
spe=window.opener.document.forms[0].Specialite;
for (var i=0; i<cho.length; i++){
if (cho[i].selected){
//-------------Specialite------------------------
spe.length++;
window.opener.newOption(cho[i].text,valeur,"Specialite");
}
}
}
}
</script>

Voila, je n'ai paaas mis tout le code html mais l'erreur se fait sur le window.opener.newOption(...). Et si je ne passe pas par la fonction et que je mets tout dans la popup, ca me génère l'erreur suivante : le serveur a généré une exception.

Merci d'avance pour votre aide

1 réponse

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
11 mai 2005 à 11:54
Bonjour,
je ne pense pas que le window.opener pose problème
( pas testé car trop de choses à recoder) , mais
blanc= new Option(s.options[(s.length)-2].text,s.options[(s.length)-2].value);
si, ==>
blanc =new Option(s[s.length-2].text,s[s.length-2].value);
peut-être ?
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
Rejoignez-nous