Bonjour j'ai un gros probleme avec un select, et onchange

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mars 2006, 12:53

Donc tu as plusieurs formulaires et donc listes sur la même page !

Il y a donc un conflit entre les formulaires, tu peux cliquer sur le dernier mais seul le 1er est validé du coup car même identifiants.

essaie en ajoutant un identifiant (qui doit être unique):
<form id="formulair<?echo $idmachine?>" action="statutexemple1.php?variable=<?echo $idmachine?>&var=<?echo $i?>" method="post">

<select name="statut" id="select" onChange="formulair<?echo $idmachine?>.submit();"> 
ensuite tu devrais jetter aux post qui traite le prépositionnement des listes

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 13:12

par ligne c'est ceci :

195 Rigolard Liege Tech Sales 18-03 En cours OK
197 Blueteam Namur Tech sales 24-12 Out OK
...
...


et le "statut" c'est un select comme ceci :
In
En cours
En attente
...

c'est un slect quoi different choix les meme pour chaque ligne affiche.

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:02

Truc, j'ai essaye ce que tu m'as dit, seulement, il ne me recharge pas ma page quand je change ...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mars 2006, 15:07

est-ce que tu as une page en ligne pour qu'on puisse voir le code source généré ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:08

ca marche, maintenant je peux changer n'imoporte lequel au premier coup ca ira, mais si j'en change un, apres c'est fini!

des que j'e nchange un, quand je change les autres, il ne reload plus la page. comment est ce possible?

je sens qu'on est pas loin de la reponse

Merci de m'aider

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:09

non je n'ai rien en ligne :$

[/img]

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mars 2006, 15:15

ca marche, maintenant je peux changer n'imoporte lequel au premier coup ca ira, mais si j'en change un, apres c'est fini!
ça vient certainement de l'événement qui est appelé lors d'un changement dans la liste. Si tu séléctionnes le même élément de la liste pas de validation du formulaire.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:17

oui mais ici, j'ai 5 ligne avec mes donne et en fin de ligne le choix du statut .

je change en ligne 3 le statut. ca va aller correctement,

Mais apres aucune ligne n'ira plus.

sauf si je me reconnecte ...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mars 2006, 15:20

je crois qu'il faut clarifier les choses...

Est-ce qu'il y a plusieurs <select> sur la meme page ?

Montre nous le code source généré (coupe les parties inutiles si le code est trop long, mais pour que ça reste compréhensible).

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:24

... 

      switch ($statut)
{
    case 'In' :
      echo "<tr bgcolor=\"#ffffff\">"; 
 include "select.php";  
      break;
    case 'En cours':
      echo "<tr bgcolor=\"#ffffff\"> "; ?>
        <form id="formulair<?echo $idinter?>" action="statutexemple1.php?variable=<?echo $idmachine?>&var=<?echo $i?>" method="post">

<? echo " <td> <b>$idinter</b></td><td><b>$nom ==> $nommachine</b></td>";
 

...

        
          <td> <select name="statut" id="select" onChange="formulair<?echo $idinter?>.submit();">
<? echo  " <option>$statut</option>"; ?>
<option value='In' >In</option><option value='En cours' >En cours</option><option value='Out' >Out</option><option value='En attente' >En attente</option><option value='Appel OK' >Appel OK</option><option value='Email envoye' >Email envoye</option>                     </select>
</form> </td>
     
           <td> 
    <center> <input name="submit" type="submit" class="champ" value="OK">   </center>
         </form> </div></td>
      
    </tr>

   ...
     
        
   
      break;

      
      
       case 'Out' :
      echo "<tr bgcolor=\"#88FF88\">"; 
 include "select.php";
      break;
      
       case 'En attente' :
      echo "<tr bgcolor=\"#8888FF\">  ";  include "select.php";
      break;
      
       case 'Appel OK' :
      echo "<tr bgcolor=\"#88FF88\">  ";  include "select.php";
      break;
      
      
       case 'Email envoye' :
      echo "<tr bgcolor=\"#88FF88\">  "; include "select.php";
      break;

}}
 }

...


voici la page select.php :
<form id="formulair<?echo $idinter?>" action="statutexemple1.php?variable=<?echo $idmachine?>&var=<?echo $i?>" method="post">


  <?php echo "<td>$idinter</td><td>$nom ==> $nommachine</td>";
 
...

<select name="statut" id="select" onChange="formulair<?echo $idinter?>.submit();">

 <? echo  " <option>$statut</option>"; ?>
<option value='In' >In</option><option value='En cours' >En cours</option><option value='Out' >Out</option><option value='En attente' >En attente</option><option value='Appel OK' >Appel OK</option><option value='Email envoye' >Email envoye</option>                     </select>



        </td>

 <td> 
      <center> <input name="submit" type="submit" class="champ" value="OK">   </center>   
         </form> </div></td>
     
...    


Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:27

oui il y a plusieurs select identique, un a chaque fin de ligne pour choisir le statut.

donc on a par exemple 10 ligne donc 10 slect, mais le select est le meme pour tous, c'est juste un choix de statut.

comme si on on avait :


jean veuf
thierry celibataire
Paul marie
Lucienne marie
leopoldine Celibataire


et que les dernier element donc veuf, celibataire marie, ... etait un slect, qu'on pouvais en modifier un, il recharge la page, et ainsi de suite ...

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:44

il le fais meme pas a chauqe premiere fois ... il le fait une fois tout les x temps ...

j'y comprend plus rien la ...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mars 2006, 15:53

Changeons de manière... qu'un seul formulaire pour toutes les listes.

Regarde ce code et essaie d'adapter:
<html>
<head>
<title></title>
</head>
<body>

<?
 //récupération des valeurs des listes
$liste1 = isset($_POST['statut1']) ? $_POST['statut1'] : "";
$liste2 = isset($_POST['statut2']) ? $_POST['statut2'] : "";
?>
Element séléctionnés...<br />
Liste 1 : <? echo $liste1; ?><br />
Liste 2 : <? echo $liste2; ?><br /><br />

Form:
<form id="form" method="post" action="#">
	SELECT 1:
	<select name="statut1" id="select1" onChange="form.submit();" />
		<? 
			$selected = ($liste1 == "1") ? " selected=\"selected\"" : null;
		?>
		<option value="1" <? echo $selected; ?>>1</option>
		<? 
			$selected = ($liste1 == "2") ? " selected=\"selected\"" : null;
		?>
		<option value="2" <? echo $selected; ?>>2</option>
		<? 
			$selected = ($liste1 == "3") ? " selected=\"selected\"" : null;
		?>
		<option value="3" <? echo $selected; ?>>3</option>
	</select>
	<br />
	SELECT 2:
	<select name="statut2" id="select2" onChange="form.submit();" />
		<? 
			$selected = ($liste2 == "1") ? " selected=\"selected\"" : null;
		?>
		<option value="1" <? echo $selected; ?>>1</option>
		<? 
			$selected = ($liste2 == "2") ? " selected=\"selected\"" : null;
		?>
		<option value="2" <? echo $selected; ?>>2</option>
		<? 
			$selected = ($liste2 == "3") ? " selected=\"selected\"" : null;
		?>
		<option value="3" <? echo $selected; ?>>3</option>
	</select>
</form>
</body>
</html>

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:59

je comprend pas exactement ce que tu veux faire,

faire un script similaire sur une autre page et dont je fais appel a chaque slect? c'est ca?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mars 2006, 16:02

je veux que tu comprennes le fonctionnement des listes pré-séléctionnées et validation du formulaire sur changement dans une liste.

Le code donné ne te sert pas directement dans ton cas, il ne sert que pour la compréhension.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute