Problème d'envois de formulaire avec IE - HTML/CSS - Programmation
Marsh Posté le 30-08-2005 à 19:54:03
C'est simple sous IE, quand on valide un formulaire avec la touche entré, il n'envoie pas la valeur du/des bouton(s) de type submit.
Si le test est fait là dessus pour savoir si on redemande la page aprés remplissage du formulaire, ca foire.
Marsh Posté le 30-08-2005 à 21:37:43
dwogsi a écrit : PS: Pardon pour la mise en forme à cou de tableaux mais bon ca marche partout ca... |
Les CSS aussi
Marsh Posté le 30-08-2005 à 21:42:52
J'me disais aussi: étrange que l'on ne me l'ais pas encore dit.
Bon alors je dirais que je me suis déjà fait chier à faire le rete avec du ccs, comme par exemple le menu, et ne pouvant pas prétendre être tout à fait au point en css je choisi encore la simplicité des tableaux pour avancer sur d'autres plans.
Je vous prie de m'excuser et vous prie également de croire que je comprend vos protestations mais laissons tout le monde évoluer à son rythme car ce qui m'intéresse dans un premier temps c'est que ce que je créé soit compatible avec le plus de navigateurs possibles et plus ou moins "conforme" puis dans un second temps que ce soit parfait! lol
Marsh Posté le 30-08-2005 à 21:52:16
ReplyMarsh Posté le 30-08-2005 à 21:54:24
Ben ca marche meme mieux que les tableaux pour les navigateurs texte, vu que l'info est affiché correctement (car avec des tables, les navigateurs textes ont un peu de mal).
Les CSS c'était prévu pour que les navigateurs graphiques aient une belle présentation, sans mettre les infos de mise en page dans le code html, pour permettre au plus anciens navigateurs de lire correctement la page même sans css.
Marsh Posté le 30-08-2005 à 23:49:10
Vérifier que les champs du formulaire correspondent à ce que t'attends.
J'ai pas mieux à te proposer pour le moment.
Moi, je vérifie pas les boutons en eux même mais les différents champs des formulaires afin de vérifier que tout est correct. De toute maniére, c'est une vérification qu'il faut faire dans tous les cas.
Evidement, si on a deux boutons de validation, il faut vérifier si on en a cliqué un.
J'espéres qu'on poura nous donner une meilleure réponse que la mienne.
Marsh Posté le 30-08-2005 à 23:52:46
J'effectue évidement un contrôle sur les données, et ci celles-ci ne conviennent pas j'affiche un message d'erreur.
Cela dit, comment vérifier si l'utilisateur a envoyé le formulair en tapant sur la tocuhe entrée sur IE sans passer par un champ type hidden?
Parce que si je fais une vérification systèmatiquement alors il y aura un message d'erreur au premier chargement de la page, avant même que l'utilisateur ait tenter de valider le formulaire.
Je précise en passant que le contrôle se fait sur le même script...
Marsh Posté le 30-08-2005 à 23:54:35
en regardant si le navigateur à renvoyer une valeur correspondant à un des boutons. Du moins pour IE.
Pour FF, j'en sais rien.
Marsh Posté le 30-08-2005 à 23:56:26
Oui mais la le problème c'est qu'IE n'envois rien du tout concernant LE (seul et unique) bouton submit....
En revanche FF, nikel.
Marsh Posté le 31-08-2005 à 13:42:50
pourquoi faire simple quand on peu faire compliquer :
dans le cas ou on a un seul bouton, ben on ne cherche pas à faire de teste sur la valeur du submit, on traite directemùent le formulaire
et dans le cas ou on a plusieurs boutons submit, on définit le test à faire par défaut
Marsh Posté le 31-08-2005 à 14:59:42
Bon alors je vais essayer d'expliquer mon problème plus clairement.
Voici un exemple de code qui correspond a peu pret au miens.
Admettons un script nomé form.php
Code :
|
Voici maintenant ce qu'il peut se passer:
Pourquoi vérifier si $_POST["sended"] est envoyé avant d'effectuer le contrôle des données?
=> Parce que si je retire cette condition vous verrez que le message d'erreur est également affiché la première fois que l'utilisateur se rend sur la page, or si celui-ci n'a encore envoyé aucune données c'est complétement illogique.
M'aura-t-on compris cette fois-ci?
Marsh Posté le 31-08-2005 à 16:37:58
Un isset($_POST["sended"]) te permettras de détecter si on t'as envoyer le nombre.
Marsh Posté le 31-08-2005 à 16:54:20
Bah normalement oui, mais dans mon cas ca ne marche pas...
Chose que je ne comprend donc pas mais bon je ne vais pas vous donner mon code là ca ferait trop long mais si quelqu'un veut jetter un coup d'oeuil à la source de la page que j'ai donnée et m'expliquer pourquoi avec IE ca ne donne rien je vous en serez très reconnaissant car moi j'abandonne et adopte une solution bricolée avec avec action="form.php?sended=1".
Marsh Posté le 31-08-2005 à 16:58:12
si $_post["val"] existe sans lien ni formulaire, c'est que tu l'as créé quelque part.
Sauf cas extrahordinaire, y a pas de miracle en php .
Marsh Posté le 31-08-2005 à 17:01:16
omega2 a écrit : si $_post["val"] existe sans lien ni formulaire, c'est que tu l'as créé quelque part. |
Je veux bien croire qu'il n'y a pas de mirecle en php, parcontre j'ai pas bien compris ce que tu voulais dire, désolé...
Marsh Posté le 31-08-2005 à 17:04:59
je veux dire que si la variable val ne provient ni d'un lien ni d'un formulaire alors c'est que c'est un bout de code php qui la fait exister.
Marsh Posté le 31-08-2005 à 17:07:44
Entièrement daccord avec ça mais en quoi est-ce censé résoudre mon problème?
Pardon si c'est l'évidence même, peut être suis-je aveugle ou tout simplement c**.
Marsh Posté le 31-08-2005 à 18:48:58
Code :
|
j'opterai pour un problème de savoir-faire en programmation, qui j'espère s'améliorera avec le temps
et pas besoin de mettre un <span style="couleurdemonQ"> alors que tu peux styler directement P
trop de balises inutiles tuent le HTML
edit : en en plus court :
Code :
|
a verifier l'exactitude au sujet de empty, car je ne sais pas si tester une variable post sans vérifier qu'elle existe est possible, sinon on rajoute d'abord un isset
Marsh Posté le 31-08-2005 à 20:21:01
Bon je pense que ca va aller, en tout cas merci.
Par contre, concernant le span et le p, je sais bien que je peux directement styler le p mais c'est l'habitude de styler juste un mot entre <p> et </p>
Marsh Posté le 30-08-2005 à 19:24:02
Salut,
je travail actuellement sur une petite app web, mais la je bloque sur un petit problème, qui m'ennuis quand même. J'ai créé un formulaire qui permet d'enregistrer une promotion pour un produit. Celui-ci peut donc être validé par un bouton type submit ou en pressant la touche entrée si l'on a un champ qui a le focus.
Logique jusque là, je vous l'accorde.
Alors si je valide sous FF avec entrée ou le bouton tout va bien.
Si je valide avec le bouton sous IE ca va aussi.
En revanche si je valide avec entrée sous IE et bien je ne sais pas exactement ce qu'il me fait mais on dirait qu'il fait une sorte de rechargement de la page sans changer les données saisies et sans les envoyer.... Je sais pas si c'est bien claire mais je vous laisse tester:
http://pancaketwo.free.fr/produit_ [...] id_prod=82
Bon on va peut être me dire que c'est normal vennant d'IE, je suis tout à fait d'accord mais, pensant qu'il faut assurer la compatibilité de ses scripts avec un maximum de navigateurs, je me dis qu'il va falloir que je trouve une solution.
En vous remerciant!
PS: Pardon pour la mise en forme à cou de tableaux mais bon ca marche partout ca...
Message édité par dwogsi le 30-08-2005 à 19:26:45
---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/