Problème pour afficher un bloc masqué sous Opera et AOL

Eléphant du PHP | 130 Messages

18 févr. 2008, 11:29

Bonjour,

J'ai un petit problème avec le code javascript ci-dessous.
Ce code affiche un div masqué. Et il est appelé par l'évenement onBlur.
Aucun problème avec IE et FF,
mais par contre ça ne marche pas ni avec Opera ni avec
le navigateur AOL. Quelqu'un aurait une idée ? Merci.

Code : Tout sélectionner

document.getElementById('madiv').style.display = "block";
Modifié en dernier par bravegars le 19 févr. 2008, 11:12, modifié 2 fois.

Eléphant du PHP | 130 Messages

19 févr. 2008, 11:00

Personne n'a une idée d'où le problème viendrait ?

C'est incroyable, ce code devrait fonctionner.
J'ai essayé avec d'autres évenements onClick, onKeyup,
c'est toujours pareil, ça fonctionne nickel sous IE et FF,
et pas sous Opera et AOL.

J'ai aussi déclaré le onblur de toutes les manières possibles,
ainsi que l'appel à la div masquée mais rien à faire.
Je vous met le code complet, peut-être ça aidera à résoudre mon problême.

Code : Tout sélectionner

partie javascript: function loadHap(){ if(document.getElementById('Hap').value.length < 5){ x = document.getElementById('madiv'); x.style.display = "block"; x.innerHTML = 'Erreur dans le champ !'; } else{ return false; }} partie html : <input style="width: 300px; height: 40px;" id="Hap" class="box" name="Hap" onblur="loadHap();" type="text" /> <div id="madiv" style="display: none;"></div>
class="box"; correspond à la mise en forme du champ Hap, pour le background.

d0m
Mammouth du PHP | 1141 Messages

19 févr. 2008, 11:12

Il n'y a aucun évênement javascript qui marche ou juste certains?

un simple alert('ca marche'); sur un onClick ne marche pas non plus?

C'est pas tout simplement la javacript désactivé?

Eléphant du PHP | 130 Messages

19 févr. 2008, 11:14

Non le javascript est bien activé, et les autres événements javascript que j'ai sur ce site fonctionne très bien sous opera et aol aussi, d'ailleurs j'ai deux autres scripts sur la meme page qui fonctionnent.
J'ai que ce problème là, c'est assez incompréhensible. :?

Merci pour ton intervention en tout cas.

d0m
Mammouth du PHP | 1141 Messages

19 févr. 2008, 11:23

Essaie de déboguer avec des alert :

Code : Tout sélectionner

function loadHap(){ alert('entree dans la fonction'); if(document.getElementById('Hap').value.length < 5){ alert('valeur < 5 : '+document.getElementById('Hap').value); x = document.getElementById('madiv'); alert('style avant : '+x.style.display); x.style.display = "block"; alert('style apres : '+x.style.display); x.innerHTML = 'Erreur dans le champ !'; } else{ alert('valeur >= 5 : '+document.getElementById('Hap').value); return false; } } partie html : <input style="width: 300px; height: 40px;" id="Hap" class="box" name="Hap" onblur="loadHap();alert('onBlur ok');" type="text" />

Eléphant du PHP | 130 Messages

19 févr. 2008, 11:36

J'ai suivi ton conseil, rien ne change pour opera et aol.

Pour IE et FF seul entrer dans la fonction s'affiche.

Pour opera et aol tout ce qui se trouve à l'intérieur de la fonction loadHap()
ne marche pas. Et je me demande bien pourquoi.

Bon, j'ai trouvé. Le code fonctionne parfaitement également sous opera et aol...

Mais uniquement chez mon hébergeur, en ligne donc.

Je suis passablement énervé easyphp n'interprète donc pas le javascript
correctement.

Je m'excuse pour avoir soumis ce sujet alors que tout était OK.
Mais jamais je me serais douter une seconde qu'en local un javascript
ne marcherait pas. :?