|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 88 ![]() |
Bonjour,
Voici un bout de code contenu dans un formulaire en method post : Code :
J'ai interrompu le code de cette manière et effectivement je vois bien que la variable du second include n'est pas posté sous Firefox alors qu'elle l'est sous IE. Pouvez-vous me donner des indices ? Merci |
||
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Salut,
Le code fourni ne permets pas de diagnostiquer ton problème. Pourrais-tu fournir le code du formulaire (select + submit) ?
__________________
|
|
|
00
|
|
|
#3 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 666 ![]() |
PHP se moquant éperdument du navigateur utilisé, logiquement ça veut dire que ton formulaire ne doit pas être bien construit et que IE parvient de recoller les morceaux et pas FF.
Le plus simple est de comparer les deux sources HTML, en plus du code PHP de génération.
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
00
|
|
|
#4 | |||||||||
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 88 ![]() |
Citation:
J'ai repris le code en respectant la procédure trouvé sur ce tuto : http://siddh.developpez.com/articles/ajax/ Visuellement ça marche parfaitement sur IE et Firefox mais fonctionnellement seule la variable du premier select est posté sur firefox et Opéra. Il manque la seconde variable. (Par contre ç'est ok sour IE) Voici mon code avec un peu plus de détail (sachant qu'il y a 3 ou 4 formulaires différents dans la page principale) Code Ajax Code :
Code :
Code :
Code :
J'ajoute juste pour la forme que j'ai placé une alert (leselect) dans le code javascript. La réponse est ok et on voit clairement apparaitre le text type <select name='cdp' etc ... La console d'erreur n'affiche pas d'erreur. Je suis perplexe. Merci de votre aide |
|||||||||
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() |
si j'ai une bonne mémoire, le problème est du de la partie javascript.
essayer d'utiliser la syntaxe Code :
document.create.getElementById.........
__________________
Si tu peux voir détruit l'ouvrage de ta vie. Et sans dire un seul mot te mettre à rebâtir, Tu seras un Homme, mon fils. |
|
|
00
|
|
|
#6 | ||||
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 88 ![]() |
Bon, j'ai mis pas mal de temps pour trouver la cause du dysfonctionnement.
Le code php et javascript fonctionne très bien mais la raison provient du formatage du code html. Avant : Cette structure empêche le code de fonctionner et ne trasmet pas la variable post cdp sous firefox Code html :
Après : Cette structure fonctionne. Noter l'emplacement des balises td dans la seconde partie Code html :
|
||||
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() ![]() |
On ne le répète jamais assez, mais une bonne présentation du code est la première étape d'un débogage facilité.
Si tu avais correctement indenté ton code dès le début tu aurais vu les erreurs : Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
10
|
|
|
#8 | |||
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 88 ![]() |
Citation:
Merci pour ces remarques très constructives , pleines de bon sens, de tact, de pédagogie et emprunt d'entraide. Je vois bien la mise en page en forme "d'escalier" descendant et montant permettant de symétriser les balises. (C'est pas mal mais ne pas le faire ne m'écarte pas du standard html) Je ne vois pas où sont les balises incohérentes et mal formées dont vous parlez. Merci de me les désigner pour que je puisse progresser et me permettre ainsi de ne pas déranger les membres éminents de ce forum. |
|||
|
|
00
|
|
|
#9 | |||
|
Expert Confirmé
![]() ![]() |
Bonjour,
J'ai annoté ton code HTML en mettant en évidence ce qui pique les yeux : Code :
Citation:
Et si tu veux voir un code minifié qui n'enfreint pas le standard mais qui est illisible, je t'invite à regarder la source de http://www.google.fr
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|||
|
00
|
|
|
#10 | |||
|
Membre à l'essai
![]() Inscription : septembre 2008 Messages : 88 ![]() |
Citation:
Merci pour toutes ces informations fort interessantes. Vous l'aurez cependant compris, ceci est un extrait de code dans la page (cette page fait en réalité 1164 lignes) Exemple la balise td de départ n'est pas fermée car il y a plusieurs tables qui se suivent dans le formulaire. Je note que mes inputs ne sont pas fermées. Comment les fermer ? Il n'empêche que le post de départ porté sur le fait qu'une variable n'était pas portée par PHP/AJAX dans firefox alors que les autres l'étaient sans problème. Le code fonctionnait parfaitement sous IE, Opéra et Safari. Cela était d'autant plus étonnant que d'autres variables encadrées par les mêmes balises autour du formulaire l'étaient sans problème. Dans mon bordel ambiant (cf moreno théorie du bordel ambiant), j'ai déplacé les <td></td> du 2nd formulaire pour les encadrer par les balises <form> et cela a résolu le problème dans firefox. Merci à moi de m'en être rendu compte. Que ce post serve à d'autres .. Il reste néanmoins interessant de constater que tous les navigateurs ne réagissent pas de la même manière. A priori Firefox, semble être très exigent. Je note donc la nécessité d'être rigoureux dans la syntaxe mais ce n'est pas évident de tout voir dans le bloc note et parfois des erreurs de syntaxe m'échappent. Un utilitaire qui crée automatiquement les balises de fin à l'écriture d'une balise de départ serait bienvenu. Cdlt |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com