Probleme javascript et IE

Probleme javascript et IE - HTML/CSS - Programmation

Marsh Posté le 25-06-2008 à 14:08:45    

Bonjour,
J'ai un probleme avec une fonction javascript sous internet explorer. En effet celle-ci fonctionne tres bien sous firefox mais ne fonctionne pas du tout sous ie.
 
Cette fonction permet d'activer un champ d'un formulaire lorsqu'une checkbox est cochée voici le coode :
 
<script type="text/javascript">
function Dis(champs){
var Obj = document.getElementById(champs);
if (Obj.disabled == false){
Obj.disabled = true;
}else{
Obj.disabled = false;
}
}
 
</script>
 
code HTML :
checkbox qui apelle la fonction :
<input type="checkbox" value="FR" id="FR" onchange="Dis('nameFR')" checked="true">
 
code du champ du formulaire :
<input type="text" size="25" maxlength="100" id="nameFR" name="nameFR">
 
Merci d'avance pour vos reponse

Reply

Marsh Posté le 25-06-2008 à 14:08:45   

Reply

Marsh Posté le 25-06-2008 à 14:25:34    

bonjour à toutes et à tous,
 
 
<body>
<script type="text/javascript">
function Dis(chk,champs){
document.getElementById(champs).disabled = !chk.checked;
}
 
</script>
 
code HTML :
checkbox qui apelle la fonction :
<input type="checkbox" value="FR" id="FR" onchange="Dis(this,'nameFR')" checked="true">
 
code du champ du formulaire :
<input type="text" size="25" maxlength="100" id="nameFR" name="nameFR">  
</body>
 
 
si j'ai compris ce que tu veux faire....
 
@+


Message édité par bul3 le 25-06-2008 à 14:26:45

---------------
[mon site] [m'écrire]
Reply

Marsh Posté le 25-06-2008 à 14:28:25    

ton script marche aussi nickel mais j'ai toujours le probleme qu'il ne passe pas sous internet explorer

 

Il me semble avoir lu aussi qqpart que le disabled ne passait pas sous IE en fait


Message édité par aeae76 le 25-06-2008 à 14:33:54
Reply

Marsh Posté le 25-06-2008 à 14:45:15    


si, si ( l'impératrice ) :
ça baigne avec IE7 ( et je parierais bien avec les IE précédents ! )
 
si tu veux dire qu'il n'est pas grisé... certes,
mais saisir ou pas est bien pris en compte
 
( pour griser regarde readOnly )
 
tu as essayé l'exemple donné tel quel ?
ton erreur, sinon est ailleurs,
avec IE :
 
activer le deboggage : Outils/options Internet/Avancés    
dans la liste, sous "Navigation" : décocher              
 o Afficher une notification de chaque erreur de script    
 o Désactiver le débogage de Scripts (Internet Explorer)  
                  et mieux,  : télécharger le Debogger IE  
                  voir aussi : DebugBar et Companion JS  
 
@+


---------------
[mon site] [m'écrire]
Reply

Marsh Posté le 25-06-2008 à 14:47:21    

t'avais raison je pensais que ce serait grisé comme sous FF donc la ca marche bien. Mais qu'est que tu veux dire avec le readOnly ?
 
J'ai egalement un autre probleme j'ai une seconde fonction js qui permet aux checkbox de se cocher automatiquement et aux champs de s'activer automatiquement lorsqu'il y'a une valeur dedans que l'on recupere grâce a la base de donnée mais cette fonction ne marche pas sous ie mais bien sous FF
 
code de la fonction : *
function test(){
if((document.getElementById('nameFR').value)!=''){
   document.nameFR.disabled=false;
   document.FR.checked=true;
  }
if((document.getElementById('nameFR').value)==' '){
   document.nameFR.disabled=true;
   document.FR.checked=false;
  }
}
J'apelle cette fonction avec onLoad="javascript:test()"


Message édité par aeae76 le 25-06-2008 à 14:53:01
Reply

Marsh Posté le 25-06-2008 à 14:52:29    

je voulais même dire :


•————————•——————————————————————————————————————————————————————————•
|FireFox |regarder la "console d'erreurs"                           |
|        | Outils / Console d'erreurs                               |
|        |                          et mieux, : télécharger FireBug |
•————————•——————————————————————————————————————————————————————————•
|Internet|activer le deboggage : Outils/options Internet/Avancés    |
|Explorer| dans la liste, sous "Navigation" : décocher              |
|        | o Afficher une notification de chaque erreur de script   |
|        | o Désactiver le débogage de Scripts (Internet Explorer)  |
|        |                  et mieux,  : télécharger le Debogger IE |
|        |                  voir aussi : DebugBar et Companion JS   |
•————————•——————————————————————————————————————————————————————————•
|K-Meleon|regarder la "console d'erreurs"                           |
|        | Outils / Console d'erreurs                               |
•————————•——————————————————————————————————————————————————————————•
|Opera   |regarder la "console d'erreurs"                           |
|        | Outils / Avancé / Console d'erreurs                      |
•————————•——————————————————————————————————————————————————————————•
|Safari  |regarder Debug / Show JavaScript Console                  |
|        | ° modifier Fichier Preferences.plist  situé dans le      |
|        | répertoire : Support:\Documents and Settings\utilisateur |
|        |                \Application Data\Apple Computer\Safari\  |
|        |   y ajouter    <key>IncludeDebugMenu</key>               |
|        |                <true/>                                   |
•————————•——————————————————————————————————————————————————————————•


---------------
[mon site] [m'écrire]
Reply

Marsh Posté le 25-06-2008 à 15:05:20    

dèjà :  
document.nameFR.disabled ? c'est quoi ?
il ne connais pas ( et avec FF, ça plante pire ! )
 
et le champ ne peut pas être vide au chargement ?
et très curieux ces tests ( en rouge ? )
 
if((document.getElementById('nameFR').value)!=''){
   document.nameFR.disabled=false;
   document.FR.checked=true;
  }
if((document.getElementById('nameFR').value)==' '){
   document.nameFR.disabled=true;
   document.FR.checked=false;
  }
}  
 
 
quand readOnly, ça permet de ne pas
autoriser l'écriture dans un champ ( et ça le grise )


---------------
[mon site] [m'écrire]
Reply

Marsh Posté le 25-06-2008 à 15:20:19    

if((document.getElementById('nameFR').value)!=''){
   document.nameFR.disabled=false;
   document.FR.checked=true;
  }  
 
if((document.getElementById('nameFR').value)==' '){
   document.nameFR.disabled=true;
   document.FR.checked=false;
  }
}  
 
ces 2 tests permettent de savoir si le champ n'est pas vide afin de cocher la checkbox correspondente
les champs peuvent etre remplis grace a la base de donnee et la parfois les champs sont remplis et le champ inactif et la checkbox non cochee

Reply

Marsh Posté le 25-06-2008 à 15:27:11    

je supputais bien...
alors : pourquoi "2 accés" aux champs  différentes ?    getElementById et l'autre manière ( invalide d'ailleurs )
et tester ' ', ce n'est pas tester si c'est rempli....
 
 
if((document.getElementById('nameFR').value)!=''){
   document.getElementById('nameFR').disabled=false;
   document.getElementById('FR').checked=true;
  }  
else{
   document.getElementById('nameFR').disabled=true;
   document.getElementById('FR').checked=false;
  }
 
pas testé, mais pas loin     ;o)    
 
 
on peut s'adresser aux champss avec document.name_du_formulaire.name_du_champ s'il a un name
et avec document.getElementById('id_du_champ') s'il a un id
 
ie sachant remplacer l'un par l'autre si nécessaire, pas FF.
 
@+


Message édité par bul3 le 25-06-2008 à 15:29:01

---------------
[mon site] [m'écrire]
Reply

Marsh Posté le 25-06-2008 à 15:33:03    

Merci beaucoup ca a l'air de marcher nickel  
Jte remercie de ta patience  :) a bientot

Reply

Marsh Posté le 25-06-2008 à 15:33:03   

Reply

Marsh Posté le 25-06-2008 à 15:44:00    

nickel si ça baigne et te convient.
merci du retour.


---------------
[mon site] [m'écrire]
Reply

Sujets relatifs:

Leave a Replay

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