Ajax and listbox

nvinvinvi Messages postés 5 Date d'inscription mardi 13 février 2007 Statut Membre Dernière intervention 20 novembre 2007 - 17 nov. 2007 à 19:45
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 18 nov. 2007 à 15:25
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

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 nov. 2007 à 13:44
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]
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 nov. 2007 à 14:19
>>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]
0
nvinvinvi Messages postés 5 Date d'inscription mardi 13 février 2007 Statut Membre Dernière intervention 20 novembre 2007
18 nov. 2007 à 14:27
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.
0
nvinvinvi Messages postés 5 Date d'inscription mardi 13 février 2007 Statut Membre Dernière intervention 20 novembre 2007
18 nov. 2007 à 14:53
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 nov. 2007 à 15:25
>>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]
0
Rejoignez-nous