Placer des résultats aléatoires dans un formulaire

KaiHo Messages postés 19 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 24 mai 2021 - 22 juil. 2010 à 00:48
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 24 juil. 2010 à 08:09
Bonjour,

Des jours que je me torture l'esprit à trouver une solution à mon problème, et j'essaye désespérément de comprendre le javascript en même temps, parce qu'il semble que la solution à mon problème passe par là...

Je vous expose mon souci.

J'ai un formulaire avec 6 champs textes (jusque là, facile).

Ensuite, je lance une fonction (php) qui créé 6 chiffres aléatoires (pas trop compliqué non plus).

Et là, je veux pouvoir placer les 6 résultats dans mes champs textes comme bon me semble (déjà, là, ça gratte).

J'ai donc pensé placer mes 6 résultats dans 6 selects en dessous de chaque champ. Et chaque fois qu'on sélectionne une valeur sous un champ, elle se place dans celui-ci, mais elle ne doit pas être réutilisable dans un autre champ.
Là, je suis déjà perdu depuis longtemps. Si quelqu'un pouvait au moins me donner une piste. Toutes-celles que j'ai tenté ont échoué. Je crois que j'ai aussi pas mal de problèmes de syntaxe quand je créé des fonctions javascript.

Merci d'avance pour vos conseils et votre aide !

5 réponses

KaiHo Messages postés 19 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 24 mai 2021
23 juil. 2010 à 00:14
Bon, pas de volontaires pour me répondre ?

Je vais tacher d'être plus précis :

Voilà, mon formulaire de base (mes six champs textes)
echo"<form action='/mapage.php' enctype='multipart/form-data' method='post'>
                <center>Champ 1</center>,
<center>Champ 2</center>,
<center>Champ 3</center>,
<center>Champ 4</center>,
<center>Champ 5</center>,
<center>Champ 6</center>,

----

<center></center>,
<center></center>,
<center></center>,
<center></center>,
<center></center>,
<center></center>
";

Mais dessous, je place un select sous chaque champ.
echo" <center>
<select name='val_champ1'>
<option value='val1'>$val1</option>
<option value='val2'>$val2</option>
<option value='val3'>$val3</option>
<option value='val4'>$val4</option>
<option value='val5'>$val5</option>
<option value='val6'>$val6</option>
</center>,

----

<center>
<select name='val_champ2'>
<option value='val1'>$val1</option>
<option value='val2'>$val2</option>
<option value='val3'>$val3</option>
<option value='val4'>$val4</option>
<option value='val5'>$val5</option>
<option value='val6'>$val6</option>
</center>,

----

<center>
<select name='val_champ3'>
<option value='val1'>$val1</option>
<option value='val2'>$val2</option>
<option value='val3'>$val3</option>
<option value='val4'>$val4</option>
<option value='val5'>$val5</option>
<option value='val6'>$val6</option>
</center>,

----

<center>
<select name='val_champ4'>
<option value='val1'>$val1</option>
<option value='val2'>$val2</option>
<option value='val3'>$val3</option>
<option value='val4'>$val4</option>
<option value='val5'>$val5</option>
<option value='val6'>$val6</option>
</center>,

----

<center>
<select name='val_champ5'>
<option value='val1'>$val1</option>
<option value='val2'>$val2</option>
<option value='val3'>$val3</option>
<option value='val4'>$val4</option>
<option value='val5'>$val5</option>
<option value='val6'>$val6</option>
</center>,

----

<center>
<select name='val_champ6'>
<option value='val1'>$val1</option>
<option value='val2'>$val2</option>
<option value='val3'>$val3</option>
<option value='val4'>$val4</option>
<option value='val5'>$val5</option>
<option value='val6'>$val6</option>
</center>
";

Pour celui qui remplit le formulaire, il va s'agir de choisir une valeur dans chaque select pour l'implémenter dans le champ du dessus correspondant. Mais aucune valeur ne doit être utilisée deux fois...

Quelle casse-tête !
0
KaiHo Messages postés 19 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 24 mai 2021
23 juil. 2010 à 17:23
Un aperçu de ce que je compte faire :

Je rajoute un appel à une fonction javascript dans les select.
Je fais en sorte que dans le texte soit inclus dans "value", pour pouvoir l'extraire plus tard.

echo" <center>
<select name='val_champ1' onChange=placer_val(this.name,this.options[this.selectedIndex].value)>
<option value='".$val1."£".$texte1."'>$texte1</option>
<option value='".$val2."£".$texte2."'>$texte2</option>
<option value='".$val3."£".$texte3."'>$texte3</option>
<option value='".$val4."£".$texte4."'>$texte4</option>
<option value='".$val5."£".$texte5."'>$texte5</option>
<option value='".$val6."£".$texte6."'>$texte6</option>
</center>,

----

<center>
<select name='val_champ2' onChange=placer_val(this.name,this.options[this.selectedIndex].value)>
<option value='".$val1."£".$texte1."'>$texte1</option>
<option value='".$val2."£".$texte2."'>$texte2</option>
<option value='".$val3."£".$texte3."'>$texte3</option>
<option value='".$val4."£".$texte4."'>$texte4</option>
<option value='".$val5."£".$texte5."'>$texte5</option>
<option value='".$val6."£".$texte6."'>$texte6</option>
</center>,

----

<center>
<select name='val_champ3' onChange=placer_val(this.name,this.options[this.selectedIndex].value)>
<option value='".$val1."£".$texte1."'>$texte1</option>
<option value='".$val2."£".$texte2."'>$texte2</option>
<option value='".$val3."£".$texte3."'>$texte3</option>
<option value='".$val4."£".$texte4."'>$texte4</option>
<option value='".$val5."£".$texte5."'>$texte5</option>
<option value='".$val6."£".$texte6."'>$texte6</option>
</center>,

----

<center>
<select name='val_champ4' onChange=placer_val(this.name,this.options[this.selectedIndex].value)>
<option value='".$val1."£".$texte1."'>$texte1</option>
<option value='".$val2."£".$texte2."'>$texte2</option>
<option value='".$val3."£".$texte3."'>$texte3</option>
<option value='".$val4."£".$texte4."'>$texte4</option>
<option value='".$val5."£".$texte5."'>$texte5</option>
<option value='".$val6."£".$texte6."'>$texte6</option>
</center>,

----

<center>
<select name='val_champ5' onChange=placer_val(this.name,this.options[this.selectedIndex].value)>
<option value='".$val1."£".$texte1."'>$texte1</option>
<option value='".$val2."£".$texte2."'>$texte2</option>
<option value='".$val3."£".$texte3."'>$texte3</option>
<option value='".$val4."£".$texte4."'>$texte4</option>
<option value='".$val5."£".$texte5."'>$texte5</option>
<option value='".$val6."£".$texte6."'>$texte6</option>
</center>,

----

<center>
<select name='val_champ6' onChange=placer_val(this.name,this.options[this.selectedIndex].value)>
<option value='".$val1."£".$texte1."'>$texte1</option>
<option value='".$val2."£".$texte2."'>$texte2</option>
<option value='".$val3."£".$texte3."'>$texte3</option>
<option value='".$val4."£".$texte4."'>$texte4</option>
<option value='".$val5."£".$texte5."'>$texte5</option>
<option value='".$val6."£".$texte6."'>$texte6</option>
</center>
";


Ensuite, la fonction javascript.
	<SCRIPT language='Javascript'>
function placer_val(id1,id2)
{
var reg=new RegExp('[£]+', 'g');
var tableau=id2.split(reg);
for (var i=0; i<tableau.length; i++) 
{
alert('tableau[' + i + '] = ' + tableau[i]);
}
id1.value=tableau[0];
}
</SCRIPT>

La boucle "for" est là en test pour vérifier que j'extraie bien les bonnes valeurs. ça marche bien. Par contre, je peux inclure la valeur mais comment placer un affichage correspondant à la valeur dans le champ texte ?

Merci pour votre aide
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
23 juil. 2010 à 19:42
Bonjour,
j'ai l'esprit un peu confus et je ne suis pas sur de bien avoir tout saisie
je te mets un petit exemple rapide
<html>
<head>
<script type="text/javascript">
//--------------------------
function Modif(  this_, id_){
  //-- Recup Objet Select
  var O_Select = this_; // on pourrait utiliser this_ directement
  //-- Recup INPUT destination
  var O_Dest = document.getElementById( id_);
  //-- Recup valeur de l'option selectionnee
  var szTmp = O_Select.options[ O_Select.selectedIndex].value;
  //-- Affectation de la valeur
  O_Dest.value = szTmp;
}
</script>
</head>


<select id="S_01" name="S_01" onchange = "Modif(this, 'I_01');">
  <option value="valeur 1">option 1</option>
  <option value="valeur 2">option 2</option>
  <option value="valeur 3">option 3</option>
  <option value="valeur 4">option 4</option>
  <option value="valeur 5">option 5</option>
  <option value="valeur 6">option 6</option>
</select>

</html>

à suivre...

;O)
0
KaiHo Messages postés 19 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 24 mai 2021
24 juil. 2010 à 00:47
Ok, dans l'esprit, c'était ça, mais le résultat n'est pas probant.

J'ai commencé à m'orienter vers un déplacement de select multiple vers des champs. J'ai trouvé des scripts intéressants pour ça.

Merci quand même !
0

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

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
24 juil. 2010 à 08:09
tiens nous au courant...
;O)
0
Rejoignez-nous