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 très actif
    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
    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 confirmé
    Homme Profil pro
    Developpeur web/Java
    Inscrit en
    Février 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Février 2008
    Messages : 98
    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 très actif
    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
    Par défaut
    J'ai tester avec l'url mais la même chose !

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

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

    Informations forums :
    Inscription : Février 2008
    Messages : 98
    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 confirmé
    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 : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    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
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  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
    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>.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre très actif
    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
    Par défaut
    j'ai résolu le problème merci à vous tous!

  8. #8
    Expert confirmé
    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 : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    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.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

+ 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, 13h06
  2. onchange sur select avec internet explorer
    Par trysdual dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/09/2008, 16h41
  3. Lancer une fonction php avec SELECT
    Par PlazaDel62 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/05/2008, 15h51
  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, 15h25
  5. problème avec select sur onchange
    Par Kerod dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/12/2005, 14h05

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