Actualiser une page si champ select modifié

Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics

Vespa
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 346
Inscription: 17 Nov 2003

Actualiser une page si champ select modifié

Message le Ven Nov 05, 2004 9:10

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:


jeromax
WRInaute passionné
WRInaute passionné
 
Messages: 1110
Inscription: 12 Nov 2003

Message le Ven Nov 05, 2004 9:19

l'action onChange dans ton select doit pouvoir t'aider.

Code: Tout sélectionner
<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>

Vespa
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 346
Inscription: 17 Nov 2003

Message le Ven Nov 05, 2004 10:09

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: Tout sélectionner
<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:


jeromax
WRInaute passionné
WRInaute passionné
 
Messages: 1110
Inscription: 12 Nov 2003

Message le Ven Nov 05, 2004 10:14

oui mais pas de cette façon.
Le reload recharge exactement la même page.

Code: Tout sélectionner
<script>
function aze(){
// le code qui va chercher la valeur du select et qui rafraichit la page
}
</script>
<a href="javascript:aze();">Recharger</a>

yanhl
WRInaute impliqué
WRInaute impliqué
 
Messages: 793
Inscription: 4 Déc 2003

Message le Ven Nov 05, 2004 11:47

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é ?

e-passeport
WRInaute discret
WRInaute discret
 
Messages: 144
Inscription: 25 Juin 2004

Message le Ven Nov 05, 2004 11:55

ajoute ca à tes favoris : www.editeurjavascript.com :) ca aide toujours quand on est en manquye d'inspiration....


olivieri
WRInaute impliqué
WRInaute impliqué
 
Messages: 889
Inscription: 3 Fév 2003

Message le Ven Nov 05, 2004 11:57

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>

yanhl
WRInaute impliqué
WRInaute impliqué
 
Messages: 793
Inscription: 4 Déc 2003

Message le Ven Nov 05, 2004 12:09

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...


yannouk
WRInaute passionné
WRInaute passionné
 
Messages: 2142
Inscription: 11 Oct 2003

Message le Ven Nov 05, 2004 12:15

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.

yanhl
WRInaute impliqué
WRInaute impliqué
 
Messages: 793
Inscription: 4 Déc 2003

Message le Ven Nov 05, 2004 14:27

<select onChange="document.location.reload()">

"javascript:" c'est pour les href des liens, normalement (et encore, c'est crado).

Vespa
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 346
Inscription: 17 Nov 2003

Message le Sam Nov 06, 2004 11:31

yanhl a écrit: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: Tout sélectionner
."<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 ?

Chrispp
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 1
Inscription: 1 Juin 2005

Le submit dans le onChange ne résoud pas tout

Message le Mer Juin 01, 2005 15:45

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


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité