Ajax and listbox

Signaler
Messages postés
5
Date d'inscription
mardi 13 février 2007
Statut
Membre
Dernière intervention
20 novembre 2007
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
j’ai un formulaire avec 2 listbox (catégorie/sous catégorie)


la listbox sous catégorie est construite en fonction du choix fait dans la première.

Pour cela j’appelle une fonction serveur avec ajax qui me construit le bloc select et je
remplace le contenu du div id=log (voir exemple) par le nouveau bloc select.








<select id="cat_id" class="inputbox" size="1" name="cat_id">





<option value="115">Autres</option>





<option selected="selected" value="111">Mode
et accessoires</option>





<option value="112">enfant,
bébé</option>





<option value="113">chaussures</option>





<option value="114">Cordonnerie,
Pressing</option>





<option value="0">Indifférent</option>





</select>









Avec explorer, tout cela fonctionne
très bien .


avec firefox,
tout est correct à l’écran mais quand je valide le formulaire, le paramètre
cat_id n’est pas transmis.

Il semblerait que pour firefox le bloc inséré ne fasse pas partie du formulaire.
quelqu'un saurait m'éclairer sur le sujet.

pour info, j'utilise mootools, mais je pense pas que cela soit important pour mon pb.
        var myAjax = new Ajax(url, {method: 'get', update: $('log')});

merci d'avance pour votre aide

5 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

>>avec firefox, tout est correct à l'écran mais quand je valide le formulaire,
>>le paramètre cat_id n'est pas transmis.
    ce serait étonnant.
    déjà ça marche avec IE, et, pour faire simple, tout ce qui est dans un
       formulaire et qui a un name est transmis.
    mais comme on n'a presque rien pour voir ce qui se passe...
       une erreur (syntaxe) avec FF  ?
       tu as régardé la console d'erreurs ?








¡————————¡——————————————————————————————————————————————————————————¡
|FireFox |regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
| | |
| | et mieux, télécharger FireBug |
¦————————¦——————————————————————————————————————————————————————————¦
|Internet|activer le deboggage : Outils/options Internet/Avancés |
|Explorer| dans la liste, sous "Navigation" : décocher |
| | ° Afficher une notification de chaque erreur de script |
| | ° Désactiver le débogage de Scripts (Internet Explorer) |
| | |
| | et mieux, télécharger le Debogger IE |
¦————————¦——————————————————————————————————————————————————————————¦
|K—Meleon|regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
¦————————¦——————————————————————————————————————————————————————————¦
|Opera |regarder la "console d'erreurs" |
| | utils / Asole d'erreurs |
¦————————¦——————————————————————————————————————————————————————————¦
|Safari |regarder Debug / Show JavaScript Console |
| | |
| |modif Fichier "Support:\Documents and Settings\utilisateur|
| |\Application Data\Apple Computer\Safari\Preferences.plist"|
| | y ajouter <key>IncludeDebugMenu</key> |
| | <true/> |
!————————!——————————————————————————————————————————————————————————!






<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>>la listbox sous catégorie est construite en fonction du choix fait dans la première.
    tu parles de select non ? ( listbox, ça n'existe pas en html/javascript/php.... )
    et même de select liés ? ( le choix dans un 1er select entraîne un 2ème select différent )

    pas encore mis sur Codes-Sources alors, des explications ici



<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
5
Date d'inscription
mardi 13 février 2007
Statut
Membre
Dernière intervention
20 novembre 2007

Bonjour,

j'utilise firebug.

je n'ai pas d'erreur
j'ai trouvé un contournement qui fonctionne mais j'aurai bien aimé comprendre.
sous firefox, je ne change plus tout le bloc select mais uniquement les options et cela fonctionne .
Cette solution ne marche pas avec IE.

donc je fais un traitement diffrent pour chaque navigateur.

en attendant mieux.
Messages postés
5
Date d'inscription
mardi 13 février 2007
Statut
Membre
Dernière intervention
20 novembre 2007

bonjour,
je n'avais pas vu la seconde réponse quand j'ai fais la mienne.
en regardant l'example il s'apparente à ce que j'ai fait en modifiant uniquement les options sauf que je remplace l'ensemble des options en bloc.c'est plus simple de récupérér et d'injecter tout le bloc en ajax..
Mais cela ne fonctionne apparement pas avec explorer.
j'essaireai de regarder un peu plus.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>>je ne change plus tout le bloc select mais uniquement les options
>>et cela fonctionne .Cette solution ne marche pas avec IE
    si tu changeais le innerHTML du select, ça ne fonctionnerait pas avec IE.
    mais va savoir ce que tu appelles le bloc...
>>en changeant les options....
    pas de raisons non plus que ça ne fonctionne pas avec IE,
    comme ma 1ère réponse qui disait pas de raisons avec FF

avec le peu dont on dispose... difficile ( voire impossible ) de répondre
je t'assure que mon exemple fonctionne avec la plupart des navigateurs.





<hr />                Cordialement            Bul         [mon Site]     [M'écrire]