Actualiser une page si champ select modifié

  • Auteur de la discussion Auteur de la discussion Vespa
  • Date de début Date de début
WRInaute discret
Bonjour à tous.

J'ai un formulaire dans une page dans lequel il y a notamment un champ select.
Je souhaiterais que cette page s'actualise si un internaute déroule le champ select et choisi un des choix de ce champ.

Je pense que je dois passer par du java ? mais je n'y connais rien..
Es ce que quelqu'un pourrait me filer un exemple sivouplait ??

C'est pénible de buter sur des bétises comme cela :cry:
Merci d'avance :wink:
 
WRInaute impliqué
l'action onChange dans ton select doit pouvoir t'aider.

Code:
<script>
function aze(){
// le code qui va chercher la valeur du select et qui rafraichit la page
}
</script>
<select on change="javascript:aze();">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
 
WRInaute discret
Ok merci je crois que oui cela va bien m'aider..

J'ai une deuxieme petite question ...

Ce formulaire peut être appele sur plusieurs page differentes alors j'ai trouvé sur le net

Code:
<a href="javascript:location.reload()">recharger</a>

Es ce que je peux passer dedans mes variables de mon formulaire php

De manière à ce quand la page s'actualisera je puisse les récuperer ?

Merci bcp en tout cas :wink:
 
WRInaute impliqué
oui mais pas de cette façon.
Le reload recharge exactement la même page.

Code:
<script>
function aze(){
// le code qui va chercher la valeur du select et qui rafraichit la page
}
</script>
<a href="javascript:aze();">Recharger</a>
 
WRInaute impliqué
ouhlàlà !
Vespa, sois CLAIR !

Ce formulaire peut être appele sur plusieurs page differentes alors j'ai trouvé sur le net :
<a href="javascript:location.reload()">recharger</a>
Es ce que je peux passer dedans mes variables de mon formulaire php
De manière à ce quand la page s'actualisera je puisse les récuperer ?

Ca ne veut rien dire !
Tu veux faire quoi au juste ?

Jeromax :
<select on change="javascript:aze();">
Attention, les débutants ont besoin de code fonctionnel qui leur apprenne à se structurer.
Il faut aussi prévenir : si tu fais un changement de page avec une select en milieu de formulaire, les données entrées dans les champs avant ta select seront perdues.

Donc on reprend :

<script type="text/javascript">
function changeRegion(codeRegion){
alert(codeRegion); // a remplacer par le code de redirection
}
</script>
(...)
<form name="inscription">
(...)
<select name="region" onchange="changeRegion(this[this.selectedIndex].value);">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
(...)
</form>


Edit : est-il besoin de rappeller que le javascript doit être doublé d'un code coté serveur si on n'a pas la garantie que les visiteurs auront javascript activé ?
 
WRInaute impliqué
Si tu veux prendre en compte des éléments saisis dans le même formulaire, il faut faire une soumission du formulaire dans la fonction appelée.

Par exemple

<script type="text/javascript">
function changeRegion(codeRegion){

document.inscription.submit();

}
</script>
(...)
<form name="inscription">
(...)
<select name="region" onchange="changeRegion(this[this.selectedIndex].value);">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
(...)
</form>
 
WRInaute impliqué
olivieri > auquel cas on peut faire le submit directement dans le onchange ;-)
Et dans ce cas, il faut distinguer coté serveur si le formulaire a été soumis par un bouton "Envoyer" ou non pour éviter d'afficher d'éventuels messages d'erreur indiquant les champs non remplis.

En fait, tant qu'on n'a pas le cas complet, on ne peut pas trop aider...
 
WRInaute passionné
Vespa, je pense qu'il y a plus simpple pour actualiser la page avec le select.

<select onChange="javascript:location.reload()">

pour la deuxieme question, si les variables figurent dans ta page, elles y seront toujours apres actualisation.
 
WRInaute impliqué
<select onChange="document.location.reload()">

"javascript:" c'est pour les href des liens, normalement (et encore, c'est crado).
 
WRInaute discret
yanhl a dit:
En fait, tant qu'on n'a pas le cas complet, on ne peut pas trop aider...

Merci à tous pour votre aide.
Je me suis très mal exprimé et m'en excuse.

Voici mon cas complet.
J'ai une fonction "detailsearch()"
Cette fonction est un formulaire de recherche :
Dans ce formulaire il y a plusieurs critères par exemple :

Code:
."<b>"._DEGREE."</b></td><td>"
           ."<select name="degrees">";
           for($i=1;$i<count(${$currentlang."_degreesearch"});$i++)
           {
           	print "<option value="$i">{${$currentlang."_degreesearch"}[$i]}";
           	}
       echo "</select>

Un des critères me pose soucis :
"Le pays".

Les utilisateurs dans ce formulaire pourront choisir le le pays.

Lorsqu'ils auront choisis le pays il faut que je recharge la page car en fonction de leur choix de pays j'affiches un select contenant les régions.

Bien sur lorsque la page se rechargeras lorsqu'ils auront selectionné un pays j'aimerais ne pas leur faire re-saisir les critères de ce formulaires qu'ils ont déja saisis.

J'espere que c'est un peu plus clair ?
 
Nouveau WRInaute
Le submit dans le onChange ne résoud pas tout

Salut,

je m'explique :

supposons que tu veuilles soumettre le formulaire à une page donnée "traitement.php".
Si tu veux réactualiser la page depuis le SELECT tu veux donc adresser le submit à la page elle même "formulaire.php".

Pour cela tu utilise une fonction "javascript:changement" et dans le code tu mets par exemple :
function changement()
{
// On s'assure de passer en post
document.forms["monform"].method="post";
// On s'assure de la destination
document.forms["monform"].action="traitement.php";
// On soumet le formulaire
document.forms["monform"].submit();
}

si je me trompe pas ça marche.

Cordialement.
Chrispp
 
Discussions similaires
Haut