Bug/Incompatibilité IE/Firefox

Bug/Incompatibilité IE/Firefox - PHP - Programmation

Marsh Posté le 09-06-2005 à 15:47:45    

Bonjour,
 
J'ai constaté un problème a mon avis très important et vraiment génant entre IE et Firefox.
Le problème se situe au niveau des INPUT de type image.
<FORM method="POST" action="unepage.php">
<INPUT src="image.jpg" name="action" type="image" value="delete">
</FORM>
Sur firefox ce code renvoie dans la varible $_POST dans unepage.php 3 variables : action=delete, action_x et action_y.
Sur IE je n'ai plus que action_x et action_y, du coup plus aucun script ou je testai la value de mon bouton image ne fonctionne sous IE ...
 
Si quelque a réussit a régler ce probleme ... merci de m'aider.
 
-Anthony

Reply

Marsh Posté le 09-06-2005 à 15:47:45   

Reply

Marsh Posté le 09-06-2005 à 15:56:55    

j'ai rien compris :d :d :d :d :d


Message édité par benamoubeach le 09-06-2005 à 15:57:21
Reply

Marsh Posté le 09-06-2005 à 16:03:34    

Bei test tu comprendras vite ou répond pas pour rien dire  :o  
 
page.html
<HTML>
<BODY>
<FORM method="POST" action="unepage.php">
<INPUT src="image.jpg" name="action" type="image" value="delete">
</FORM>  
</BODY>
</HTML>
 
unepage.php
<?
print_r($POST);
?>
 
regarde le retour sur IE et celui sur firefox tu comprendras vite le probleme.

Reply

Marsh Posté le 09-06-2005 à 16:14:09    

"The x-coordinate is submitted under the name of the control with .x appended, and the y-coordinate is submitted under the name of the control with .y appended. Any value property is ignored."
 
Y a pas vraiment de moyen de résoudre quelque chose que le navigateur refuse de faire :)

Reply

Marsh Posté le 09-06-2005 à 16:14:59    

Effectivement.
Bah au lieu de tester la présence de action, tu testes la présence de action_x et hop, c'est bon. :D

Reply

Marsh Posté le 09-06-2005 à 16:15:32    

si j'ai répondu "pour rien dire" c pcke ton post original ne voulai "rien dire" ...

Reply

Marsh Posté le 09-06-2005 à 16:16:28    

Moi j'avais compris :o

Reply

Marsh Posté le 09-06-2005 à 16:17:25    

benamoubeach a écrit :

si j'ai répondu "pour rien dire" c pcke ton post original ne voulai "rien dire" ...


 
il voulait tellement rien dire qu'il a eu 2 réponses en rapport avec la question :D

Reply

Marsh Posté le 09-06-2005 à 16:19:50    

si tu comprends ca  

Code :
  1. Sur firefox ce code renvoie dans la varible $_POST dans unepage.php 3 variables : action=delete, action_x et action_y.
  2. Sur IE je n'ai plus que action_x et action_y, du coup plus aucun script ou je testai la value de mon bouton image ne fonctionne sous IE ...

, c'est qu'on parle pas la meme langue ... pcke ca veut strictement rien dire ormis le action=delete . action_x et action_y ca tombe que un cheveu sur la soupe


Message édité par benamoubeach le 09-06-2005 à 16:20:49
Reply

Marsh Posté le 09-06-2005 à 16:23:30    

Bah je trouve sa question très claire, il montre un code de formulaire, il indique le retour dans la variable $_POST et il explique que ce n'est pas le même sous IE ou sous FF.
 
Pour en revenir au sujet, Opéra ne retourne également que action_x et action_y.

Reply

Marsh Posté le 09-06-2005 à 16:23:30   

Reply

Marsh Posté le 09-06-2005 à 16:26:03    

faut que je me recycle dans ce cas ...

Reply

Marsh Posté le 09-06-2005 à 16:27:50    

benamoubeach a écrit :

si tu comprends ca  

Code :
  1. Sur firefox ce code renvoie dans la varible $_POST dans unepage.php 3 variables : action=delete, action_x et action_y.
  2. Sur IE je n'ai plus que action_x et action_y, du coup plus aucun script ou je testai la value de mon bouton image ne fonctionne sous IE ...

, c'est qu'on parle pas la meme langue ... pcke ca veut strictement rien dire ormis le action=delete . action_x et action_y ca tombe que un cheveu sur la soupe


 
Ca démontre surtout un trou dans ta connaissance de l'html, son input étant de type image, il y a bien envoi des coordonnées du clic sous la forme nom_du_bouton_x et nom_du_bouton_y. Tu aurais pu lui faire des remarques sans l'exemple de code, avec, tu creuses juste ta propre tombe :D

Reply

Marsh Posté le 09-06-2005 à 16:40:33    

nan pas du tout , je creuse pas du tout ma propre tombe, pour la simple et bonne raison que moi je n'ai pas été aggressif.
 
Maintenant oui je n'ai jamais dis que j'étais le dieu de l'html, loin de moi cette idée. Je pense seulement qu'une simple phrase aurait été plus agréable qu'une critique ...
De plus , ce n'est pas un problème de php donc il s'est trompé de section.

Reply

Marsh Posté le 09-06-2005 à 17:10:52    

naceroth a écrit :

"The x-coordinate is submitted under the name of the control with .x appended, and the y-coordinate is submitted under the name of the control with .y appended. Any value property is ignored."
 
Y a pas vraiment de moyen de résoudre quelque chose que le navigateur refuse de faire :)


 
Merci pour ta réponse, mais j'aimerai juste savoir ou tu as trouvé cette info car je me réfère personnelement à www.w3c.org qui ne mentionne rien sur la value qui est ignorée. J'imagine que ca viens d'un site de Microsoft mais j'aimerai qd meme la confirmation.
 
Ensuite pour ce qui est de tester la valeur de name_x ou name_y, c'est problématique car elle varie tt le temps j'ai l'impression que c'est le coordonnée de l'image sur lequel on a cliqué donc c'est complètement aléatoire et ca devient inutilisable.
En tout cas, le fait que IE ne prenne pas en compte la value enleve tous sont interet a ce bouton qui devient un bete submit qui ne correspond pas du tout à ma méthoe de codage en php (même nom pour tous les boutons submit et test de la valeur pour choisir l'action à effectuer)
 
Pour ma part je note une fois de plus la faiblesse de Microsoft sur certain point et les nouvelles perspectives qu'offre un navigateur comme firefox.
 
PS : J'aurai sans doute du mettre un code exemple plus complet pour clarifié ma question initialement, désolé benamoubeach.
 
Edit : benamoubeach, ma question est bien dans la partie PHP, et pour finir ta plaidoirie futile contre ma question, je te donne raison ... a bon entendeur salut.


Message édité par anthonyf15 le 09-06-2005 à 17:13:09
Reply

Marsh Posté le 09-06-2005 à 17:20:06    

anthonyf15 a écrit :

Ensuite pour ce qui est de tester la valeur de name_x ou name_y, c'est problématique car elle varie tt le temps j'ai l'impression que c'est le coordonnée de l'image sur lequel on a cliqué donc c'est complètement aléatoire et ca devient inutilisable.


Bah si bien sûr.
Comment tu faisais avant ? if (isset($_POST['action'])) ?
Bah maintenant, tu peux tester if (isset($_POST('action_x'))
Je ne vois pas où est le soucis. Sinon, effectivement, la valeur représente bien les coordonnées en pixels de la souris, mais si tu as un input image dans un formulaire et que tu fais un submit par un autre bouton que l'image, le action_x n'existera pas.

Reply

Marsh Posté le 09-06-2005 à 17:40:20    

En fait le probleme vient du faite que tous les boutons submit dans la page on le meme nom quelquesoit le forumaire mais systématiquement des values différentes.
Du coup quelquesoit le forumlaire où la page je test la valeur de l'input "action" qui est le nom de tous mes submit.
Donc du coup dans mes page php je test qu'une variable submit ($_POST['action']) et je exécute des instructions en fonction (suppression, modification etc).
 
En gros voila mon problème mais j'ai peur d'avoir du mal à le résoudre sans faire des modification majeur sur mon code html au moins.
 
merci de ton aide

Reply

Marsh Posté le 09-06-2005 à 17:46:12    

anthonyf15 a écrit :

Merci pour ta réponse, mais j'aimerai juste savoir ou tu as trouvé cette info car je me réfère personnelement à www.w3c.org qui ne mentionne rien sur la value qui est ignorée. J'imagine que ca viens d'un site de Microsoft mais j'aimerai qd meme la confirmation.


 
Oui, évidement, le problème venant d'IE, ma réponse était tirée de MSDN :)
 
Pour le reste, il est quand même plus simple d'utiliser un champs hidden décrivant l'action à effectuer et qui lui est soumis quelque soit le type du bouton que d'utiliser la valeur du bouton elle-même :)

Reply

Marsh Posté le 09-06-2005 à 17:47:40    

naceroth a écrit :

Oui, évidement, le problème venant d'IE, ma réponse était tirée de MSDN :)


Opéra a le même soucis.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed