Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1333 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème d'envois de formulaire avec IE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème d'envois de formulaire avec IE

n°1188164
dwogsi
Défaillance cérébrale...
Posté le 30-08-2005 à 19:24:02  profilanswer
 

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... :ange:


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})/
mood
Publicité
Posté le 30-08-2005 à 19:24:02  profilanswer
 

n°1188182
omega2
Posté le 30-08-2005 à 19:54:03  profilanswer
 

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.

n°1188208
dwogsi
Défaillance cérébrale...
Posté le 30-08-2005 à 20:29:25  profilanswer
 

Ok je vois.
Mais dans ce cas, y a t il une autre solution qu'un champ de type hidden par exemple?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1188233
plainsofpa​in
Pingouino's lover
Posté le 30-08-2005 à 21:37:43  profilanswer
 

dwogsi a écrit :

PS: Pardon pour la mise en forme à cou de tableaux mais bon ca marche partout ca... :ange:


 
Les CSS aussi [:pingouino]


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1188244
dwogsi
Défaillance cérébrale...
Posté le 30-08-2005 à 21:42:52  profilanswer
 

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


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1188249
omega2
Posté le 30-08-2005 à 21:52:16  profilanswer
 


Même avec les navigateurs en mode texte?

n°1188250
plainsofpa​in
Pingouino's lover
Posté le 30-08-2005 à 21:54:24  profilanswer
 

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.
 
[:pingouino]


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1188302
dwogsi
Défaillance cérébrale...
Posté le 30-08-2005 à 23:29:37  profilanswer
 

Quoiqu'il en soit, ma question persiste toujours:
Y a t il une autre solution que d'utiliser un champ de type hidden? Cf. post précédents.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1188314
omega2
Posté le 30-08-2005 à 23:49:10  profilanswer
 

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.

n°1188317
dwogsi
Défaillance cérébrale...
Posté le 30-08-2005 à 23:52:46  profilanswer
 

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...


Message édité par dwogsi le 30-08-2005 à 23:55:10

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
mood
Publicité
Posté le 30-08-2005 à 23:52:46  profilanswer
 

n°1188320
omega2
Posté le 30-08-2005 à 23:54:35  profilanswer
 

en regardant si le navigateur à renvoyer une valeur correspondant à un des boutons. Du moins pour IE.
Pour FF, j'en sais rien.

n°1188322
dwogsi
Défaillance cérébrale...
Posté le 30-08-2005 à 23:56:26  profilanswer
 

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.


Message édité par dwogsi le 30-08-2005 à 23:56:55

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1188607
gatsusat
Posté le 31-08-2005 à 13:42:50  profilanswer
 

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

n°1188689
dwogsi
Défaillance cérébrale...
Posté le 31-08-2005 à 14:59:42  profilanswer
 

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 :
  1. <?
  2. if ( isset($_POST["sended"]) ) {
  3.    if ( !is_numeric($_post["val"]) ) {
  4.      echo "<p><span style=\"color: red;\">Ce n'est pas une valeur numérique</span>";
  5.    }
  6. }
  7. ?>
  8. <form action="form.php" name="the_form" mathod="POST">
  9. <p><input type="text" name="val"></p>
  10. <p><input type="submit" value="envoyer" name="sended"></p>
  11. </form>


 
Voici maintenant ce qu'il peut se passer:
 

  • Sous FF, je valide avec le bouton, aucun problème.


  • Sous IE, je valide avec le bouton, aucun problème.


  • Sous FF je valide en pressant la touche entrée, toujours aucun problème à signaler.


  • Sous IE, je valide avec la touche entrée et la veleur de $_POST["sended"] n'est pas envoyée, donc le contrôle sur les données ne s'effectue pas.


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?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1188807
omega2
Posté le 31-08-2005 à 16:37:58  profilanswer
 

Un isset($_POST["sended"]) te permettras de détecter si on t'as envoyer le nombre.

n°1188824
dwogsi
Défaillance cérébrale...
Posté le 31-08-2005 à 16:54:20  profilanswer
 

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".


Message édité par dwogsi le 31-08-2005 à 16:55:38

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1188832
omega2
Posté le 31-08-2005 à 16:58:12  profilanswer
 

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 .

n°1188837
dwogsi
Défaillance cérébrale...
Posté le 31-08-2005 à 17:01:16  profilanswer
 

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é...


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1188840
omega2
Posté le 31-08-2005 à 17:04:59  profilanswer
 

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.

n°1188842
dwogsi
Défaillance cérébrale...
Posté le 31-08-2005 à 17:07:44  profilanswer
 

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**.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1188984
gatsusat
Posté le 31-08-2005 à 18:48:58  profilanswer
 

Code :
  1. if (isset($_POST["sended"]) && !empty($_POST["sended"]) ) {
  2.    if ( !is_numeric($_post["val"]) ) {
  3.      echo "<p style=\"color: red;\">Ce n'est pas une valeur numérique</p>";
  4.    }
  5. }


 
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 :
  1. (!empty($_POST["sended"])) ? ( (!is_numeric($_post["val"])) ? echo "<p style=\"color: red;\">Ce n'est pas une valeur numérique</p>"; ) ;


 
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


Message édité par gatsusat le 31-08-2005 à 19:32:46
n°1189052
dwogsi
Défaillance cérébrale...
Posté le 31-08-2005 à 20:21:01  profilanswer
 

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>


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème d'envois de formulaire avec IE

 

Sujets relatifs
Il est ou son probleme a lui (Réglé)probleme de menu contextuel crée avec dreamweaver
Problème de requêtes sur accessprobleme pour metre une image dans mon xhtml
(résolu)probleme dans mes codes css et xhtmlProblème avec WMI et Win32_PrintJob
[PHP] Formulaire avec 2 boutons de validation ?Probleme d'utilisation de DOM
[XML et AS] Problème liée à onLoad...problème avec un regex
Plus de sujets relatifs à : Problème d'envois de formulaire avec IE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR