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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  onclick ne marche pas sous firefox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

onclick ne marche pas sous firefox

n°1861724
misterZida​ne
Posté le 15-03-2009 à 12:17:10  profilanswer
 

Bonjour à toutes et à tous !
Je n'arrive pas à faire marcher la fonction "onclick" sur firefox. Car cela marche parfaitement sous IE.
Pour info, j'ai bien indiqué les champs "id" et "name".
 
Pouvez-vous m'aider et me dire si c'est normal ?
Merci..

mood
Publicité
Posté le 15-03-2009 à 12:17:10  profilanswer
 

n°1861729
SICKofitAL​L
misanthrope
Posté le 15-03-2009 à 12:44:55  profilanswer
 

Si onclick ne fonctionnait pas, ca se saurait ;)
 
C'est quoi ton code exactement ?


---------------
We deserve everything that's coming...
n°1861865
gatsu35
Blablaté par Harko
Posté le 15-03-2009 à 20:43:16  profilanswer
 

ET LE CODE IL EST OÙ POUR QU'ON PUISSE T'AIDER !!!!!!!!


---------------
Blablaté par Harko
n°1927826
jcop
yeah !
Posté le 30-09-2009 à 03:09:40  profilanswer
 

Salut,
 
Je suis en train de faire une page web et le onclick fonctionne parfaitement sous IE et sous Opera, mais ne fonctionne pas sous Firefox !
 
voici le code :
 

Citation :

<table align="center" border="0" cellpadding="5" width="650">
<tr>
  <td align="right"><input type="button" value="Calculer le tarif" onclick="calcul_tarif()" /></td>
</tr>
</table>


 
Quelqu'un a t'il une idée ? Dans la fonction calcul_tarif() j'ai ajouté un alert et ça ne fait malgré tout rien !
La fonction calcul_tarif ne serait donc pas appelée, mais pourquoi ?


Message édité par jcop le 30-09-2009 à 03:11:58
n°1927831
gatsu35
Blablaté par Harko
Posté le 30-09-2009 à 07:51:17  profilanswer
 

le reste du code, il serait possible de l'avoir ??


---------------
Blablaté par Harko
n°1928415
jcop
yeah !
Posté le 02-10-2009 à 02:50:33  profilanswer
 

voilà la page en question : http://circuitsimprimes.free.fr/commande.php
Ce qui est encore plus bizarre sous firefox, est que certains boutons marchent (en l'occurence les boutons 'ajouter un circuit' et 'retirer un circuit'),  mais pas d'autres (en l'occurence les boutons 'calculer le tarif' et 'envoyer'), et je ne vois vraiment pas pourquoi !!!
 
De plus il y a un input box qui ne doit s'afficher que lorsque l'utilisateur sélectionne 'oui' pour perçage. Ça marche sous IE et Opéra, mais pas sous firefox.
 
Enfin sous IE quand on passe la souris sur les éléments du menu, ceux-ci passent en surbrillance. Sous firefox ça ne fait rien !

n°1928419
gatsu35
Blablaté par Harko
Posté le 02-10-2009 à 06:58:24  profilanswer
 

tu as installé firebug ????
Perce que là tu as juste une grosse erreur JS quand on clique sur "calculer le tarif" et le bouton "envoyer" il marche là :D


---------------
Blablaté par Harko
n°1928420
gatsu35
Blablaté par Harko
Posté le 02-10-2009 à 07:00:02  profilanswer
 

super tu fais un  

Code :
  1. document.getElementById("choix_nb_faces" + i)


alors que choix_nb_faces+i n'est pas un id mais un name, rajoute aussi un id sur le select


---------------
Blablaté par Harko
n°1928623
jcop
yeah !
Posté le 02-10-2009 à 19:58:01  profilanswer
 

gatsu35 a écrit :

tu as installé firebug ????
Parce que là tu as juste une grosse erreur JS quand on clique sur "calculer le tarif"


Sous IE le bouton 'Calculer le tarif' marche parfaitement bien. En fait tout fonctionne parfaitement bien sous IE. Mais je vais installer firebug voir ce que ça me dit.
 

gatsu35 a écrit :

et le bouton "envoyer" il marche là :D


Non le bouton 'envoyer' ne fonctionne pas, dans le sens où lorsque l'on clique dessus, une fonction javascript doit être appelée (fonction qui vérifie entre autres que l'utilisateur ne rentre pas n'importe quoi dans les champs), or ce n'est pas le cas sous Firefox.

Message cité 1 fois
Message édité par jcop le 02-10-2009 à 20:07:40
n°1928627
gatsu35
Blablaté par Harko
Posté le 02-10-2009 à 20:47:39  profilanswer
 

jcop a écrit :


Sous IE le bouton 'Calculer le tarif' marche parfaitement bien. En fait tout fonctionne parfaitement bien sous IE. Mais je vais installer firebug voir ce que ça me dit.
 


Et tu as lu le message juste après où je te dis que ta fonction est mal utilisée :o
c'est normal que ça marche sous IE, IE est une sombre merde laxiste.
 

jcop a écrit :


Non le bouton 'envoyer' ne fonctionne pas, dans le sens où lorsque l'on clique dessus, une fonction javascript doit être appelée (fonction qui vérifie entre autres que l'utilisateur ne rentre pas n'importe quoi dans les champs), or ce n'est pas le cas sous Firefox.


Le problème est le même, tu appelles calcul_tarifs() ce qui fait que tu pètes une erreur JS, et une erreur JS dans une fonction appelée depuis un onsubmit, ca laisse quand meme le navigateur envoyer le formulaire


---------------
Blablaté par Harko
mood
Publicité
Posté le 02-10-2009 à 20:47:39  profilanswer
 

n°1928652
jcop
yeah !
Posté le 03-10-2009 à 09:43:32  profilanswer
 

gatsu35 a écrit :


c'est normal que ça marche sous IE, IE est une sombre merde laxiste.


Mais oui bien sûr  :sarcastic:
Moi j'aurais plutôt pensé le contraire. J'ajouterais que sous Opera ça marche aussi.

n°1928668
SICKofitAL​L
misanthrope
Posté le 03-10-2009 à 12:02:08  profilanswer
 

jcop a écrit :


Mais oui bien sûr  :sarcastic:
Moi j'aurais plutôt pensé le contraire. J'ajouterais que sous Opera ça marche aussi.


En fait c'est vrai, IE laisse passer n'importe quoi, et Opera a semble't-il suivi le délire dans certains cas...
En fait si ca marche pas sous FF, c'est que ton code est foireux, point barre [:spamafote]

 

De plus comme dit il te retourne une erreur sur le getElementById, car l'id n'existe pas. getElementById est censé retourner un element en fonction de son id, s'il est pas défini, forcément ....


Message édité par SICKofitALL le 03-10-2009 à 12:06:18

---------------
We deserve everything that's coming...
n°1928685
gatsu35
Blablaté par Harko
Posté le 03-10-2009 à 15:03:38  profilanswer
 

jcop a écrit :


Mais oui bien sûr  :sarcastic:
Moi j'aurais plutôt pensé le contraire. J'ajouterais que sous Opera ça marche aussi.


Tu fait un getElementById sur un ID qui n'existe pas, ce n'est pas un ID mais un name qui se trouve sur ton select, rajoute un id="" avec le meme name, et ton probleme est resolu.
 
Si tu veux pas nous écouter c'est toi que ça regarde :o


---------------
Blablaté par Harko
n°1928857
jcop
yeah !
Posté le 04-10-2009 à 23:04:32  profilanswer
 

bon voilà ça marche enfin :)
J'ai effectivement dû rajouter des id=""
 
J'aimerais par ailleurs que lorsque l'utilisateur survole un élément du menu, celui-ci change de background.
Ça marche actuellement sous IE, mais pas sous Firefox !
Sauriez-vous me dire ce qui ne va pas dans le code ?
Voici un extrait clé :

Citation :

<td class="nav" background="bck_gray.png" onmouseover="background='bck_lightred.png'" onmouseout="background='bck_gray.png'"><a href="tarifs.htm">Calcul du tarif</a></td>


 
Sinon, si vous avez besoin de faire faire un circuit imprimé, vous savez dorénavant à qui s'adresser !
 
Me reste à référencer le site !

n°1928862
gatsu35
Blablaté par Harko
Posté le 04-10-2009 à 23:24:13  profilanswer
 

jcop a écrit :

bon voilà ça marche enfin :)
J'ai effectivement dû rajouter des id=""

 

J'aimerais par ailleurs que lorsque l'utilisateur survole un élément du menu, celui-ci change de background.
Ça marche actuellement sous IE, mais pas sous Firefox !
Sauriez-vous me dire ce qui ne va pas dans le code ?
Voici un extrait clé :

Citation :

<td class="nav" background="bck_gray.png" onmouseover="background='bck_lightred.png'" onmouseout="background='bck_gray.png'"><a href="tarifs.htm">Calcul du tarif</a></td>

 

Sinon, si vous avez besoin de faire faire un circuit imprimé, vous savez dorénavant à qui s'adresser !

 

Me reste à référencer le site !


parce que ton code est mal écrit tout simplement.

Code :
  1. <td class="nav" background="bck_gray.png" onmouseover="this.background='bck_lightred.png'" onmouseout="this.background='bck_gray.png'"><a href="tarifs.htm">Calcul du tarif</a></td>


Et de nos jours on utilise les CSS pour faire ce que tu veux faire là.
Mais sauf pour IE6 qui ne connait le :hover que sur le A

 

Encore une fois, c'est bien la preuve que IE est une sombre merde laxiste au niveau du JS.


Message édité par gatsu35 le 04-10-2009 à 23:33:03

---------------
Blablaté par Harko
n°1928875
jcop
yeah !
Posté le 05-10-2009 à 00:42:40  profilanswer
 

Ça ne marche pas rajoutant le mot-clé this.
Bref Firefox est trop naze sur ce coup là !
 
Je vais devoir essayer de gérer la chose avec les CSS (pour ainsi espérer que ça marche sous Firefox)
 

n°1928876
gatsu35
Blablaté par Harko
Posté le 05-10-2009 à 00:48:19  profilanswer
 

jcop a écrit :

Ça ne marche pas rajoutant le mot-clé this.
Bref Firefox est trop naze sur ce coup là !

 

Je vais devoir essayer de gérer la chose avec les CSS (pour ainsi espérer que ça marche sous Firefox)

 

Non ce n'est pas firefox le gros naze c'est IE [:mlc]

Code :
  1. <td class="nav" style="background:url(bck_gray.png)" onmouseover="this.style.background='bck_lightred.png'" onmouseout="this.style.background='bck_gray.png'"><a href="tarifs.htm">Calcul du tarif</a></td>
 

Je n'aurai pas pensé que au niveau dom le background ne soit plus géré par les bons navigateurs.

 

PS : les bouts de code que tu nous postent sont digne de 2000, mais pas de 2009 :D
Donc en postant nous t'aiderons à corriger ces petits écarts


Message édité par gatsu35 le 05-10-2009 à 00:51:20

---------------
Blablaté par Harko
n°1928879
SICKofitAL​L
misanthrope
Posté le 05-10-2009 à 02:14:21  profilanswer
 

jcop a écrit :

Ça ne marche pas rajoutant le mot-clé this.
Bref Firefox est trop naze sur ce coup là !
 
Je vais devoir essayer de gérer la chose avec les CSS (pour ainsi espérer que ça marche sous Firefox)
 


:lol:
J'arrive à rien, c'est la faute de Firefox .. [:fail]
 
 
 
[:_edit]

Code :
  1. vite fait :
  2. <script type="text/javascript'>
  3. // ......
  4. var mouseOver = function (el, isOver)
  5. {
  6.   return el.style.background = (isOver ? 'bck_lightred.png' : 'bck_gray.png');
  7. }
  8. // ......
  9. </script>
  10. ...
  11. <td class="nav" style="background:url(bck_gray.png)"
  12. onmouseover="mouseOver (this, true)"
  13. onmouseout="mouseOver (this, false)">
  14.   <a href="tarifs.htm">Calcul du tarif</a>
  15. </td>


 
[:_edit]²
Et le fameux naze, il aurait compris qqch comme ca, contrairement à cette infâmie qu'est IE6 :

Code :
  1. <style type="text/css">
  2. td.nav {
  3.   background: url(bck_gray.png);
  4. /* définitions du style pour la classe nav appliquées aux td */
  5. }
  6. td.nav:hover {
  7.   background: url(bck_lightred.png);
  8. /* définitions du style pour la classe nav appliquées aux td lorsque la souris se trouve dessus !!*/
  9. }
  10. </style>
  11. ...
  12. <td class="nav">
  13.   <a href="tarifs.htm">Calcul du tarif</a>
  14. </td>


Message édité par SICKofitALL le 05-10-2009 à 02:22:41

---------------
We deserve everything that's coming...
n°1929152
jcop
yeah !
Posté le 05-10-2009 à 23:01:51  profilanswer
 

Merci SICKofitALL pour le code.
J'ai donc appliqué ta 2ème méthode et ça marche sous Firefox, mais par contre ça ne marche plus sous IE !!!!!
Arghhh !

n°1929155
SICKofitAL​L
misanthrope
Posté le 05-10-2009 à 23:07:00  profilanswer
 

jcop a écrit :

Merci SICKofitALL pour le code.
J'ai donc appliqué ta 2ème méthode et ça marche sous Firefox, mais par contre ça ne marche plus sous IE !!!!!
Arghhh !


La deuxieme méthode ? Celle du CSS ?
Pour info IE6 ne supporte pas la pseudo-classe :hover sur autre chose que les tags A (c'est d'ailleurs pour ca que j'ai écrit contrairement à cette infâmie qu'est IE6 :o )


---------------
We deserve everything that's coming...
n°1929157
SICKofitAL​L
misanthrope
Posté le 05-10-2009 à 23:09:01  profilanswer
 

Et si la premiere méthode ne fonctionne, essayes plutot ca

Code :
  1. var mouseOver = function (el, isOver)
  2. {
  3.   return el.style.backgroundImage = "url(" + (isOver ? "bck_lightred.png" : "bck_gray.png" ) + " )";
  4. }


 
J'ai pas testé (ni le premier d'ailleurs) mais c'est plus correct


---------------
We deserve everything that's coming...
n°1929167
jcop
yeah !
Posté le 05-10-2009 à 23:33:43  profilanswer
 

Eh bien ça marche à la fois sous IE et sous Firefox !!!
Merci ! :)
J'ai enlevé le mot clé "return" dans la fonction mouseOver et ça a l'air de marcher également !

n°1929177
SICKofitAL​L
misanthrope
Posté le 06-10-2009 à 00:01:25  profilanswer
 

Comem quoi, il ne s'agissait pas d'un soucis de navigateur, mais de code ;)
 
Et pourquoi enlever le return ? Un fonction est censée retourner qqch que je sache (de tte facon si le return n'est pas là, ca retourne quand même un "undefined", mais quand on veut faire les choses bien, alors on mets un return <valeur> ;) )


---------------
We deserve everything that's coming...
n°1929186
gatsu35
Blablaté par Harko
Posté le 06-10-2009 à 01:24:19  profilanswer
 

SICKofitALL a écrit :

Comem quoi, il ne s'agissait pas d'un soucis de navigateur, mais de code ;)
 
Et pourquoi enlever le return ? Un fonction est censée retourner qqch que je sache (de tte facon si le return n'est pas là, ca retourne quand même un "undefined", mais quand on veut faire les choses bien, alors on mets un return <valeur> ;) )


Une fonction n'est pas forcément censée retourner quelque chose. Depuis quand une fonction doit obligatoirement retourner quelque chose ?
 
si tu avais un onclick=function(), là tu pourrais faire un return false pour empecher le clic de se propager et donc d'accéder à la page linkée par le lien.


---------------
Blablaté par Harko
n°1929187
SICKofitAL​L
misanthrope
Posté le 06-10-2009 à 01:32:46  profilanswer
 

gatsu35 a écrit :


Une fonction n'est pas forcément censée retourner quelque chose. Depuis quand une fonction doit obligatoirement retourner quelque chose ?
 
si tu avais un onclick=function(), là tu pourrais faire un return false pour empecher le clic de se propager et donc d'accéder à la page linkée par le lien.


tu as raison, ce n'est pas obligatoire en fait. En réalité, dans ce genre de cas, ca pourrait même poser problèmes à cause du cas que tu soulèves.
Ceci dit, perso je retourne tjrs qqch, question d'habitude ptêtre ;)


---------------
We deserve everything that's coming...
n°1929192
gatsu35
Blablaté par Harko
Posté le 06-10-2009 à 04:44:18  profilanswer
 

SICKofitALL a écrit :


tu as raison, ce n'est pas obligatoire en fait. En réalité, dans ce genre de cas, ca pourrait même poser problèmes à cause du cas que tu soulèves.
Ceci dit, perso je retourne tjrs qqch, question d'habitude ptêtre ;)


Passe faire un tour sur un langage assez typé, tel que l'AS3, tu verras en général une fonction qui retourne quelque chose c'est une fonction à qui tu demandes quelque chose. ou alors une fonction qui va te retourner un status sur ce qu'elle à fait.
Dans le cas d'une fonction liée à un eventListener, il est complètement inutile de renvoyer quelque chose, d'ailleur elle doit avoir void comme déclaration de retour


---------------
Blablaté par Harko
n°1929195
SICKofitAL​L
misanthrope
Posté le 06-10-2009 à 07:59:31  profilanswer
 

Je parlais que je retourne tjrs qqch bien sûr dans le cadre du JS :)


---------------
We deserve everything that's coming...
mood
Publicité
Posté le   profilanswer
 


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

  onclick ne marche pas sous firefox

 

Sujets relatifs
listes déroulantes liées ne marche pas avec firefoxAccents OK sur IE mais pas sur Firefox
Firefox et SVG[FIREFOX] proposition extention
mon site ne marche pas sur IE mais parfaitement sur firefoxprogramme marche en mode normal mais pas en mode debug
compteur de visite qui ne marche pasTest type mime d'un fichier envoyé par un input sous IE ne marche pas
Plus de sujets relatifs à : onclick ne marche pas sous firefox


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)