Bonjour a tous et a toute,
L'objectif initial du programme est que si l'on ne trouve pas l'unité que l'on cherche dans la liste déroulante, on clique sur le bouton ''+'' qui ouvre une pop up, cette fenêtre permet a l'utilisateur de saisir le nom et le code (par exemple kilometre et km) de l'unité, en cliquant sur validé dans la pop up, l'unité devrait se rajouté dans la liste déroulante de la fenêtre mère. voila le code source:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<form name="saisie" method="post" action="" onsubmit="return testsubmit()">
<td><select name=unit11 id=unit11><option value='€/kW' >'€/kW'</option><option value='' ></option></select><input type="button" value="+" onclick="nvlFenetre(1,1,'unit11')" class="adPlus"></td>
</form>
voila pour le formulaire de saisie avec le boutons qui appele la fonction: nvlFenetre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
function nvlFenetre(numeroVar, NbParam, formulaire)
{
 
	if (NbParam >=4)
	{
		alert('impossible d\'ajouter des unités');
	}
	else
	{
		window.open('ajoutUnite.php?variable='+numeroVar+'&nbform='+formulaire, "PopUp",
		"width=460,height=150,scrollbars=0,location=yes,status=yes, scrollbars=0,left=" +
		((screen.width - 460)/2) + ",top=" + ((screen.height - 150)/2) );
	}
 
}
cette fonction ouvre une fenetre qui contient un petit formualaire:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<form method="post" action="ajoutUnite.php">
<label for=nomUnit>nom de l'unité</label>
<input type="texte" name="nomUnit"id="nomUnit"><br/>
<label for=codeUnit>code de l'unité</label>
<input type="texte" name="codeUnit" id="codeUnit">
<input type="hidden" name="unite" id="unite" value=2>
<input type="hidden" name="var" id="var" value=1>
<input type="hidden" name="nbForm" id="unite" value=unit11>
<input type="button" value="ajouter l'unité" onclick="AjouterLigne(this,'saisie','unit11')" >
en cliquant sur le bouttons "ajouter l'unité" l'utilisateur appele donc la fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
function AjouterLigne(formulPopup, formulMere, Liste) 
{
 
 
var o=new Option(document.getElementById('codeUnit').value, document.getElementById('codeUnit').value);
 
window.opener.document.forms[formulMere].elements[Liste].options[formulMere.liste.options.length]=o;
alert(formulPopup+' '+formulMere+' '+Liste);
}
j'ai déplacé l'alerte voire jusqu'ou le script marchait et l'alerte apparait encore si on la place apres la premiere ligne(la ligne d'affectation de la variable).
je ne sais pas vraiment d'où vien l'erreur, si c'est de la gestion des paramètre ou des objets.
je me rend bien compte que sa doit parraitre très brouillon présenté comme sa mais si quelqu'un peut me dire ce qui cloche sa m'aiderait beaucoup.
merci d'avance.