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

Langage PHP Discussion :

"undefined index" après une action javascript sur un select


Sujet :

Langage PHP

  1. #1
    Inscrit
    Profil pro
    aaaaa
    Inscrit en
    Novembre 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : aaaaa

    Informations forums :
    Inscription : Novembre 2006
    Messages : 178
    Points : 70
    Points
    70
    Par défaut "undefined index" après une action javascript sur un select
    Bonjour,

    Voilà j'ai une première page contenant, pour résumer, ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <form id="formulaire" name="formulaire" ENCTYPE="multipart/form-data" METHOD="POST" ACTION="">
    <select id="departement" name="departement">
    <option value="aucun">Choisissez un département</option>
    <option value="01">01 Ain</option>
    <option value="02">02 Aisne</option>
    </select><br />
    Ville : <input type="text" id="ville" name="ville" size="30" autocomplete="off" onchange="actualiser_quartiers(this.value)"/><br />
    <span id="span_quartier">
    Quartier : <select id="quartier" name="quartier"><option value="none">[Aucun quartier pour cette ville]</option></select>
    </span>
    Le fonction actualiser_quartiers(nom_ville) met à jour la liste des quartiers (dans span_quartier) une fois qu'on a tapé le nom de la ville.
    Problème, une fois qu'on a validé le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: Undefined index: quartier
    C'est sans doute parce que j'ai réécrit, avec le javascript, à l'intérieur de span_quartier, mais comment résoudre le problème ?

  2. #2
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,
    Peux tu montrer ta fonction actualiser_quartiers ?

  3. #3
    Inscrit
    Profil pro
    aaaaa
    Inscrit en
    Novembre 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : aaaaa

    Informations forums :
    Inscription : Novembre 2006
    Messages : 178
    Points : 70
    Points
    70
    Par défaut
    Bien sûr, la voici (je l'ai beaucoup simplifiée ici, j'espère qu'il n'y a pas d'erreur de syntaxe):

    Code : 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
     
    function actualiser_quartiers(nom_ville) {
    document.getElementById("span_quartiers").innerHTML=
    			'<SELECT NAME="quartier" id="quartier"><OPTION VALUE="">[Chargement de la liste...]</OPTION>';
    var OAjax;
    if (window.XMLHttpRequest) OAjax = new XMLHttpRequest();
    else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP'); 
    OAjax.open('POST',"class/miniscript.php",true);
    OAjax.onreadystatechange = function()
    	{
    		if (OAjax.readyState == 4 && OAjax.status==200)
    		{
    			if (document.getElementById) 
                                document.getElementById("span_quartiers").innerHTML=OAjax.responseText;
                    }
     
    	}      
    	OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    OAjax.send("ville="+nom_ville);
    }
    Et dans miniscript.php (mais je pense pas que ce soit important), il y a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <select id="quartier" name="quartier">
    <option value="aucun">[Aucun quartier]</option>
    <option value="bacalan">Bacalan</option>
    <option value="barriere_de_toulouse">Barriere De Toulouse</option>
    </select>

  4. #4
    Inscrit
    Profil pro
    aaaaa
    Inscrit en
    Novembre 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : aaaaa

    Informations forums :
    Inscription : Novembre 2006
    Messages : 178
    Points : 70
    Points
    70
    Par défaut
    Ah, je viens de me rendre compte que dans l'une des premières lignes du javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById("span_quartiers").innerHTML=
    			'<SELECT NAME="quartier" id="quartier"><OPTION VALUE="">[Chargement de la liste...]</OPTION>';
    J'ai oublié le </select>, mais comme le contenu de span_quartiers est ensuite re-rempli avec Ajax, je pense pas que le problème soit là.

Discussions similaires

  1. Rendre le focus à champ de saisie après une action
    Par Gothico dans le forum WinDev
    Réponses: 3
    Dernier message: 24/10/2006, 16h21
  2. Liens html pour un éditeur (ajouter une action javascript à un lien html)
    Par psychoBob dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 25/05/2006, 18h41
  3. onChange pas déclanché sur une action javascript ?
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/06/2005, 16h32

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