IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Fonction onchange avec select


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Points : 54
    Points
    54
    Par défaut Fonction onchange avec select
    Bonjour j'ai une form qui contient seulement un select avec des options charger d'un array() je veux que lors que jais changer les options de selection une fonction s'applique mais rien n'a changer !!!

    voici mon code onchange():
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name='$langTo' onchange='this.form.submit()'>

    code complet:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php 
    include("core/Translate.php");
    $langFrom = 'fr';
    $langTo = (!empty($_GET['langTo']))? $_GET['langTo'] : 'ar';
    // ---------------------
    $lang_array = array(
    	'fr' =>'Français',
    	'en' =>'English',
    	'ar' =>'Arabe',
    	'es' =>'Español',
    	'de' =>'Deutsch'
    );
    $str1="en local c'est parfait j'arrive a écrire en arabe dans ma base de donné mais le problem c'est avec l'encodage";
    echo  $str1; ?>
    <form name="" method="GET" action="#">
    <select name='$langTo' onchange='this.form.submit()'>
    <?php	foreach($lang_array as $lang_value => $lang_name){ 
    			$selected = ($langTo == $lang_value)? ' selected="selected"' : '';
    			echo '		<option value="'.$lang_value.'" '.$selected.'>'.$lang_name.'</option>'."\n";
    		}
    ?>
    </select>
    </form>
     
    <p><?php 
    echo $lang_value.'<br>';
    echo $lang_name.'<br>';
    echo  Translate($str1, $langFrom, $langTo);
     ?></p> 
    ...
    </div>

  2. #2
    Membre habitué
    Homme Profil pro
    Developpeur web/Java
    Inscrit en
    Février 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Developpeur web/Java
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Février 2008
    Messages : 98
    Points : 178
    Points
    178
    Par défaut
    Salut,

    Je pense que ton problème vient de la valeur que tu as mis dans l'action de ton form. (Le # représente une ancre sur ta page je suis pas certain que ça fasse faire une soumission). Essai plutôt de remettre l'url de la page.

  3. #3
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Points : 54
    Points
    54
    Par défaut
    J'ai tester avec l'url mais la même chose !

  4. #4
    Membre habitué
    Homme Profil pro
    Developpeur web/Java
    Inscrit en
    Février 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Developpeur web/Java
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Février 2008
    Messages : 98
    Points : 178
    Points
    178
    Par défaut
    Je me suis focalisé sur le fait que ton formulaire n'était pas soumis mais à priori ce n'est pas ça le problème.

    Le problème serait plutôt au niveau du nom de ton select que tu as appelé $langTo alors que sur le début de la page tu récupères ton paramètre get avec $_GET['langTo'] (sans le $)

  5. #5
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Bapfuror a raison. Je ne sais pas ce que tu as voulu faire là :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name='$langTo' >
    $langTo n'est pas interprété par PHP car ce passage est en dehors des délimiteurs <?php ... ?>. Dans l'URL, ce nom est traduit en %24langTo, ce qui ne correspond pas à $_GET['langTo'].

    Petite remarque, <form action="#"> n'empêche pas la soumission du formulaire, mais c'est encore plus simple de faire <form action="">.

    Pour ton problème d'encodage, je te conseille de tout passer en UTF-8. Il y a 3 points à vérifier :
    • L'encodage de tes fichiers PHP : vois avec ton éditeur de texte.
    • L'encodage spécifié par ton serveur : vois dans la config de ton serveur, ou avec un .htaccess, ou un header Content-Type explicite
    • L'encodage de communication entre ton serveur et ta base de données : le plus simple est de commencer toute connexion avec une requête SET NAMES UTF8

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    mais c'est encore plus simple de faire <form action="">.
    Dans ce cas, autant ne pas le mettre : <form>.

  7. #7
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 118
    Points : 54
    Points
    54
    Par défaut
    j'ai résolu le problème merci à vous tous!

  8. #8
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Dans ce cas, autant ne pas le mettre : <form>.
    Et il reçoit "" comme valeur par défaut ? Eh bien je viens d'apprendre un truc, merci !
    J'étais resté sur la spec du XHTML Strict où les attributs, même vides, sont obligatoires.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Onchange() avec select
    Par Canyata dans le forum AJAX
    Réponses: 12
    Dernier message: 15/09/2010, 14h06
  2. onchange sur select avec internet explorer
    Par trysdual dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/09/2008, 17h41
  3. Lancer une fonction php avec SELECT
    Par PlazaDel62 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/05/2008, 16h51
  4. Appel imbriqué de fonction dans onChange de SELECT
    Par toome dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 06/01/2006, 16h25
  5. problème avec select sur onchange
    Par Kerod dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/12/2005, 15h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo