Ouverture popup lors de changemt ds 1 liste deroulante

Résolu
atomik29 Messages postés 87 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 17 décembre 2008 - 10 mai 2006 à 10:16
atomik29 Messages postés 87 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 17 décembre 2008 - 10 mai 2006 à 12:04
>Bonjour a tous,
alors voila mon probleme :
Je recupere a partir d'une fonction des champs d'une table dans une liste deroulante de mon formulaire
voila le code de la fonction et celui du form.

fonctionslistes.php
//////////////////////////////////////////////
function affichelistetech2($codetechnicien,$nom,$allowempty)
{
$query="SELECT codetechnicien, nom FROM techniciens where nom!='CLIENT' ORDER by nom";
$req=mysql_query($query);
echo "<select name='$nom'>";
if($allowempty!=0)
echo "<option value=""></option>";
while($line = mysql_fetch_array($req))
{
$tmpcode=$line["codetechnicien"];
$tmpnom=$line["nom"];
echo "<option";

if($codetechnicien==$tmpcode)
{ echo " selected"; }
printf(" value ="%d">%s</option>\n",$tmpcode,$tmpnom);
}
echo "</select>\n";
///////////////////////////////////////////////////////////

form.php (j'ai pris que le bout qui pose probleme) -- explication apres le code
/////////////////////////////////////////////////////
<td>Assigné à : </td>
<td>
<? if($admin){
if(!empty($codeclient))
affichelistetech2($codetechnicien,"codetechnicien",1);
else
affichelistetech22($codetechnicien,"codetechnicien",1);
} else {
if($codetechnicien==NULL)
$codetechnicien='15';

$sql2="SELECT nom FROM techniciens
WHERE codetechnicien='$codetechnicien'";

$requete2 = mysql_query($sql2) or die (mysql_error());
$nomtechnicien = @mysql_result($requete2,"0","nom");?>
">
">
<? }
//ajout d'un test permettant de re-remplir le champ si il est effacé par mégarde
if(isset($codetechnicien)){?>
<script>
document.forms.formu.assi.value=document.forms.formu.codetechnicien.value;
document.forms.formu.okassi.value=1;
</script></td>
<? } ?>
/////////////////////////////////////////////
voila donc si on a les droits ($admin) on affiche la liste des techniciens.
Mais le plus souvent le technicien n'est pas attribue : il a pour valeur 15 ce qui correspond a "a definir"

Je voudrais que lorsque je change de choix dans ma liste deroulante je puisse faire apparaitre une popup qui me demande si je veux envoyer un mail aux techniciens pour le prevenir...

Le code pour le mail c'est pas un probleme j'ai deja fait un truc du genre mais je n'arrive absolument pas a placer mon ouverture de popup automatique lorsque je change de choix

HELP ME PLEASE !!!

Atomik29

5 réponses

huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010
10 mai 2006 à 12:03
Il faut que tu fasse correspondre

echo "<select name='$nom'>";

avec

index = document.mon_form.mon_select.selectedIndex;
valeur = document.mon_form.mon_select.options[index].value;

de même, il faut que ta balise form correspondent comme suit :
<form name="mon_form">
et
index = document.mon_form.mon_select.selectedIndex;

valeur = document.mon_form.mon_select.options[index].value;

N'oublie pas non plus de transmettre les paramètres qui t'intéresse ici

window.open('validation.php?id='+valeur);

j'avais mis id, comme exemple, tu mets ce que tu veux recevoir dans ton fichier validation.php (tu reçoit pour l'instant $_GET['$id'] dans ton fichier validation.php)

huberdine, mais dort aussi ...
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 mai 2006 à 10:53
Hello,

tu appelles ton popup sur un onchange de ta liste.
0
huberdine Messages postés 158 Date d'inscription samedi 8 février 2003 Statut Membre Dernière intervention 17 juin 2010
10 mai 2006 à 10:58
tu peux faire comme ça :

echo "<select name='$nom' onChange="window.open ('fenetre_popup.php')">";

plus d'info sur la fonction window.open : http://www.destrucsaweb.com/ressources/phpmyannu/goto_36.php


Si tu veux passer des paramètres à fenetre_popup.php
:

<script language='JavaScript'>
function ma_popup()
{
index = document.mon_form.mon_select.selectedIndex;
valeur = document.mon_form.mon_select.options[index].value;
window.open('fenetre_popup.php?id='+valeur);
}
</script>

<form name="mon_form">
<select name="mon_select" onChange="window.open ('ma_popup();')">
<option value="1">Mon option 1</option>
</select>
</form>



huberdine, mais dort aussi ...
0
atomik29 Messages postés 87 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 17 décembre 2008 1
10 mai 2006 à 11:55
Merci mais j'ai pas du tout pige
J'ai fait ca mais rien ne sactualise lorsque je change la valeur dans la liste

fonctionlistes.php
/////////////////////////
<?
session_start();
?>

<script language='JavaScript'>
function ma_popup()
{
index = document.mon_form.mon_select.selectedIndex;
valeur = document.mon_form.mon_select.options[index].value;
window.open('validation.php?id='+valeur);
}
</script>
..................
..................
function affichelistetech2($codetechnicien,$nom,$allowempty)
{
$query="SELECT codetechnicien, nom FROM techniciens where nom!='CLIENT' ORDER by nom";
$req=mysql_query($query);
// echo "<select name='$nom'>";
echo"<select name='$nom' onChange='window.open ('ma_popup();')'>";
if($allowempty!=0)
echo "<option value=""></option>";
while($line = mysql_fetch_array($req))
{
$tmpcode=$line["codetechnicien"];
$tmpnom=$line["nom"];
echo "<option";
if($codetechnicien==$tmpcode)
{
echo " selected";
}
printf(" value ="%d">%s</option>\n",$tmpcode,$tmpnom);
}
echo "</select>\n";
}

//////////////////////////////////////////
et je n'ai rien modifie dans mon form.php puisque le <select ..... est dans la fonction
se trouvant dans lotre fichier.
donc jappelle la fonction comme ceci :
<td>Assigné à : </td>
<td>
<? if($admin){
if(!empty($codeclient))
affichelistetech2($codetechnicien,"codetechnicien",1);
else
affichelistetech22($codetechnicien,"codetechnicien",1);

C'est surement la que ca coince .. mais je pige pas
J'ai mis des echo dans mon form et lorsque je change de valeur dans ma liste ca sactualise bien mais la popup ne s'affiche pas.

Atomik29
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
atomik29 Messages postés 87 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 17 décembre 2008 1
10 mai 2006 à 12:04
Desole autant pour moi j'avais pas bien compris
Il fallait que je rajoute le form aussi dans ma fonction ....

Merci beaucoup huberdine et toi aussi malalam
A plus

Atomik29
0
Rejoignez-nous